بيان تبديل جافا سكريبت
يتم switch
استخدام البيان لأداء إجراءات مختلفة بناءً على ظروف مختلفة.
بيان تبديل JavaScript
استخدم switch
العبارة لتحديد واحدة من العديد من كتل التعليمات البرمجية المراد تنفيذها.
بناء الجملة
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
هذه هي الطريقة التي يعمل بها:
- يتم تقييم تعبير التبديل مرة واحدة.
- تتم مقارنة قيمة التعبير مع قيم كل حالة.
- إذا كان هناك تطابق ، فسيتم تنفيذ كتلة التعليمات البرمجية المرتبطة.
- إذا لم يكن هناك تطابق ، فسيتم تنفيذ كتلة التعليمات البرمجية الافتراضية.
مثال
تُرجع getDay()
الطريقة يوم الأسبوع كرقم بين 0 و 6.
(الأحد = 0 ، الاثنين = 1 ، الثلاثاء = 2 ..)
يستخدم هذا المثال رقم أيام الأسبوع لحساب اسم يوم الأسبوع:
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
ستكون نتيجة اليوم:
Sunday
الكلمة الرئيسية الفاصل
عندما تصل JavaScript إلى break
كلمة رئيسية ، فإنها تكسر كتلة التبديل.
سيؤدي هذا إلى إيقاف التنفيذ داخل كتلة التبديل.
ليس من الضروري كسر الحالة الأخيرة في كتلة التبديل. الكتلة تنكسر (تنتهي) هناك على أي حال.
ملاحظة: إذا حذفت تعليمة break ، فسيتم تنفيذ الحالة التالية حتى إذا لم يتطابق التقييم مع الحالة.
الكلمة الرئيسية الافتراضية
default
تحدد الكلمة الرئيسية الرمز المطلوب تشغيله في حالة عدم وجود مطابقة لحالة الأحرف :
مثال
تُرجع getDay()
الطريقة يوم الأسبوع كرقم بين 0 و 6.
إذا لم يكن اليوم السبت (6) ولا الأحد (0) ، فاكتب رسالة افتراضية:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
ستكون نتيجة النص:
Today is Sunday
لا يجب default
أن تكون الحالة هي الحالة الأخيرة في كتلة التبديل:
مثال
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
إذا default
لم تكن الحالة الأخيرة في مجموعة التبديل ، فتذكر إنهاء الحالة الافتراضية بفاصل.
كتل التعليمات البرمجية المشتركة
ستحتاج أحيانًا إلى حالات تبديل مختلفة تستخدم نفس الرمز.
في هذا المثال ، الحالة 4 و 5 يشتركان في نفس كتلة الكود ، و 0 و 6 يشتركان في كتلة أخرى:
مثال
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
تبديل التفاصيل
إذا تطابق العديد من الحالات مع قيمة حالة ، يتم تحديد الحالة الأولى .
إذا لم يتم العثور على حالات مطابقة ، يستمر البرنامج في التسمية الافتراضية .
إذا لم يتم العثور على تسمية افتراضية ، يستمر البرنامج في العبارة (العبارات) بعد التبديل .
مقارنة صارمة
تستخدم حالات التبديل مقارنة صارمة (===).
يجب أن تكون القيم من نفس النوع لمطابقتها.
لا يمكن أن تكون المقارنة الصارمة صحيحة إلا إذا كانت المعاملات من نفس النوع.
في هذا المثال لن يكون هناك تطابق لـ x:
مثال
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}