(ط) طريقة الاختيار الديناميكي والسمة
في العمل الفعلي ، غالبًا ما نواجه هذا الموقف: اتصل بأحد الطريقتين [1] وفقًا لحالة معينة ، أو قراءة وكتابة العمليات على إحدى السمة [2]. يوضح الرمز التالي هذا:
نسخة الكود كما يلي:
إذا (الشرط) {
myobj.method1 (somearg) ؛
} آخر {
myobj.method2 (somearg) ؛
}
يوفر JavaScript بناء جملة بسيط يستخدم عوامل قوس مربعة ([]) لتحديد الطرق والخصائص ديناميكيًا. كما هو موضح في الكود التالي ، يحتوي JavaScript على بناء جملة وصول من الأعضاء المكافئين (هذه الميزة شائعة في اللغات الديناميكية):
OBJ
إذا كنت قد استخدمت مشتركًا في عدد صحيح للوصول إلى عنصر في صفيف ، فقد بدأت بالفعل في استخدام مشغلي قوس مربع لتحقيق اختيار عضو ديناميكي. وذلك لأن كائن الصفيف نفسه يحتوي على سمات (وسمات الطول) المسمى على بعد تراكب الرقم. ومع ذلك ، لا يسمح لك JavaScript بالوصول مباشرة إلى هذه الخصائص باستخدام مشغلي النقطات (.) ، لذلك myarray.0 غير قانوني بشكل نمط (إنه عار ، إنه بناء جملة باردة).
لماذا يعتبر مشغلات الأقواس المربعة أقوى من تدوين مشغل DOT؟ هذا لأنه يمكنك الوصول إلى عضو الكائن باستخدام أي محتوى يمثل اسم العضو في قوسين مربع. وتشمل هذه الحرفيات ، والمتغيرات التي تحمل أسماء الأعضاء ، ومجموعات الأسماء (في الغالب الربط السلسلة) ، وسرعة إذا/ثم الاختيار باستخدام عوامل Ternary (الحالة؟ ValueFtrue: Valueflse). سيتم معالجة كل هذا المحتوى في سلسلة ، ثم سيستخدم JavaScript هذه السلسلة للعثور على الأعضاء المقابلة.
نظرًا لأن وظيفة في JavaScript هي في حد ذاتها كائن ، يمكن الرجوع إليها مثل القيم الأخرى. إذا كانت نتيجة التعبير وظيفة ، فيمكنك الاتصال بها مباشرة مع مشغل الدعامة ، تمامًا مثل استدعاء الوظيفة مباشرةً باسم الوظيفة.
تجدر الإشارة إلى أنه إذا كنت تستخدم هذه الخدعة بشكل كبير على المعلمات التي تنقلها إلى الطريقة ، فقد تجعل الأقواس المربكة من الصعب قراءتها ، ومن الحكمة استخدام بنية IF العادية في هذا الوقت.
(2) خصائص وطرق جافا سكريبت اجتياز
يستخدم JavaScript to in in that in the reading on the properties consuges. لـ in in state orops من خلال كائن javaScript.
القواعد:
نسخة الكود كما يلي:
لـ (ValuEname in ObjectName) {
// شفرة
}
حيث ، يكون الاسم هو الاسم المتغير ، الذي يحمل اسم الخاصية أو الطريقة.