التعشيش لو غير هذا تساعد العبارات على تنظيم وعزل الشروط لتجنب اختبار نفس الحالة مرتين أو لتقليل عدد المرات التي يجب فيها إجراء الاختبارات المختلفة.
باستخدام إذا البيانات مع كل من عوامل المقارنة والمعاملات المنطقية ، يمكننا إعداد التعليمات البرمجية التي سيتم تشغيلها إذا تم استيفاء مجموعة محددة من الشروط. لا نريد دائمًا اختبار الحالة بأكملها من أجل تشغيل مجموعة من العبارات إذا كان الاختبار بأكمله صحيحًا ، ومجموعة أخرى إذا كانت خاطئة. قد نرغب في الاختيار بين عدة عبارات مختلفة ، اعتمادًا على مجموعة معينة من الظروف صحيح.
لنفترض ، على سبيل المثال ، أن لدينا ثلاث قيم للمقارنة ونرغب في تعيين نتائج مختلفة اعتمادًا على القيم المتساوية. يوضح المثال التالي كيف يمكننا التداخل إذا عبارات لاختبارها (بالخط العريض أدناه)
الجواب var؛
إذا (أ == ب) {
إذا (أ == ج) {
answer = "الكل متساوون" ؛
} آخر {
answer = "a و b متساويان" ؛
}
} آخر {
إذا (أ == ج) {
answer = "a و c متساويان" ؛
} آخر {
إذا (ب == ج) {
answer = "b and c متساويان" ؛
} آخر {
answer = "جميعها مختلفة" ؛
}
}
}
الطريقة التي يعمل بها المنطق هنا هي:
- إذا كان الشرط الأول صحيحًا (
إذا (أ == ب)
) ، ثم يتحقق البرنامج من أجل متداخلة إذا شرط (إذا (أ == ج)
). إذا كان الشرط الأول خطأ ، فإن البرنامج يندفع إلى آخر شرط. - إذا كان متداخلة إذا صحيح ، يتم تنفيذ العبارة ، أي "الجميع متساوون".
- إذا كان متداخلة إذا كاذبة ، ثم آخر يتم تنفيذ العبارة ، أي "أ و ب متساويان".
إليك بعض الأشياء لملاحظة كيفية ترميزها:
- أولاً ، أنشأنا المتغير إجابة للاحتفاظ بالنتيجة قبل أن نبدأ إذا بيان ، مما يجعل المتغير عالمي. بدون ذلك ، كنا بحاجة إلى تضمين المتغير في مقدمة جميع عبارات التخصيص ، لأنه سيكون متغيرًا محليًا.
- ثانيًا ، قمنا بوضع مسافة بادئة لكل منها إذا بيان. وهذا يسمح لنا بتتبع عدد المستويات المتداخلة من العبارات المتداخلة بسهولة أكبر. كما أنه يوضح أننا أغلقنا العدد الصحيح من الكتل البرمجية لإكمال كل إذا التصريحات التي فتحناها. قد تجد أنه من الأسهل وضع الأقواس أولاً لكل منها إذا بيان قبل أن تبدأ في كتابة الرمز الذي ينتمي داخل تلك الكتلة.
يمكننا تبسيط قسم واحد من هذا الرمز قليلاً لتجنب الاضطرار إلى تداخل إذا التصريحات بقدر ما. أين كامل كتلة أخرى يتكون من واحد إذا البيان ، يمكننا حذف الأقواس حول تلك الكتلة وتحريك إذا الشرط نفسه على نفس الخط مثل آخر، باستخدام شرط "آخر إذا". فمثلا:
الجواب var؛
إذا (أ == ب) {
إذا (أ == ج) {
answer = "الكل متساوون" ؛
} آخر {
answer = "a و b متساويان" ؛
}
} آخر إذا (أ == ج) {
answer = "a و c متساويان" ؛
} آخر إذا (ب == ج) {
answer = "b and c متساويان" ؛
} آخر {
answer = "جميعها مختلفة" ؛
}
متداخل اذا ثم العبارات شائعة في جميع لغات البرمجة ، وليس فقط جافا سكريبت. غالبًا ما يستخدم المبرمجون المبتدئون العديد اذا ثم أو لو غير هذا التصريحات بدلاً من تداخلها. في حين أن هذا النوع من التعليمات البرمجية سيعمل ، فإنه سرعان ما يصبح مطولًا وسيكرر الشروط. تداخل العبارات الشرطية تخلق مزيدًا من الوضوح حول منطق البرنامج وتؤدي إلى رمز موجز يمكن تشغيله أو ترجمة بسرعة.