English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل جافا سكربت الأساسي

جافا سكربت أوبجكت

جافا سكربت دالة

HTML DOM في JS

BOM في المتصفح JS

دليل أساسيات AJAX

دليل JavaScript

تعليمات switch لـ JavaScript

switch هي تعليمات شرطية مثل if ... else ...، ولكنها تسمح باختبار متساوية القيمة للمعلمة بناءً على قائمة من القيم.

يمكن استخدام switch لاختيار كتلة التعليمات التي يجب تنفيذها من عدة كتل تعليمات. هذا هو الحل الأمثل لمجموعة من تعليمات if...else

تعليمات switch مثل هذا:

switch (expression) {
  case value1:  
    // تنفيذ التعليمات
    // يتم تطابق نتيجة التعبير مع value1
  تحطم;
  case value2:  
    // تنفيذ التعليمات
    // يتم تطابق نتيجة التعبير مع value2
  تحطم;
  ...
  case valueN:  
    // تنفيذ التعليمات
    // يتم تطابق نتيجة التعبير مع value N
  تحطم;
  default:
   // عند عدم تنفيذ أي مما يلي
   // تنفيذ كتلة التعليمات هنا
 }

حسب منطق كتلة التعليمات أعلاه، هذا هو ترتيب الأحداث التي ستحدث:

  • يتم حساب تعبير switch مرة واحدة

  • يتم مقارنة قيمة التعبير مع كل قيمة حالة

  • إذا كانت هناك تطابق، يتم تنفيذ كتلة التعليمات المطلوبة

  • إذا لم تتطابق أي حالة، يتم تنفيذ كتلة التعليمات الافتراضية

في هذا المثال، يتم استخدام رموز أيام الأسبوع لتحديد أيام الأسبوع:

var day;
switch (new Date().getDay()) {
case 0: 
 day = "Sunday";
 تحطم;
case 1: 
 day = "Monday";
 تحطم;
case 2: 
 day = "Tuesday";
 تحطم;
case 3: 
 day = "Wednesday";
 تحطم;
case 4: 
 day = "Thursday";
 تحطم;
case 5: 
 day = "Friday";
 تحطم;
case 6: 
 day = "Saturday";
 تحطم;
default: 
 day = "Undefined Day";
}
اختبار لرؤية‹/›

كلمة المفتاح break

كلمة المفتاح break المرتبطة بكل علامة case تضمن أن يخرج البرنامج من التبديل بمجرد تنفيذ التعليمات التي تتطابق معها، ويستمر في تنفيذ التعليمات بعد التبديل. إذا تم تمرير skip break، فإن البرنامج يستمر في تنفيذ التعليمات التالية لقوس switch.

إذا نسيت الراحة، فإن النص سينطلق من حالة التوافق، ثم ينفذ حالة التوافق:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1: 
    text = "رقمك الذي أدخلته هو 1";
   case 2: 
    text = "رقمك الذي أدخلته هو 2";
   case 3: 
    text = "رقمك الذي أدخلته هو 3";
   case 4: 
    text = "رقمك الذي أدخلته هو 4";
   case 5: 
    text = "رقمك الذي أدخلته هو 5";
   default: 
    text = "تنفيذ التعليمة التالية";
}
اختبار لرؤية‹/›

ليس من الضروري إيقاف تشغيل حالة النهاية في قوس switch (أي default). لأن كتلة الأوامر تنهي هنا (تنتهي).

كلمة المفتاح default

إذا لم يتم العثور على case مطابق، فإن كلمة المفتاح default تحدد بعض الكود لتشغيله.

يمكن أن يكون هناك جملة افتراضية واحدة فقط في switch. على الرغم من أن هذا غير إلزامي، إلا أن من المستحسن استخدامها لأنها يمكن أن تتعامل مع حالات غير متوقعة.

عديد من الحالات

في بعض الأحيان، قد ترغب في استخدام نفس الكود في حالات مختلفة، أو استخدام كود عام.

هذا مثال على جملة switch ي�行ها نفس العملية لأربعة قيم مختلفة:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "رقمك بين 1 و4";
  تحطم;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "رقمك بين 5 و8";
  تحطم; 
   default: text = "ت�行 الجملة الافتراضية";
}
اختبار لرؤية‹/›

إذا تطابق أكثر من case مع القيمة، يتم اختيار case الأول.

إذا لم يتم العثور على case مطابق، فإن البرنامج سيستمر في استخدام case الافتراضي.

إذا لم يتم العثور على علامة التبويب الافتراضية، فإن البرنامج سيستمر في تنفيذ الجملة التالية.