دستور سوئیچ JavaScript

تعریف و استفاده

دستور سوئیچ بر اساس شرایط مختلف کدهای مختلف را اجرا می‌کند.

سوئیچ دستور بخشی از دستورات

switch statement عبارت را محاسبه می‌کند. سپس مقدار عبارت با مقدار هر یک از cases در ساختار مقایسه می‌شود. اگر تطابق پیدا کند، بلاک کد مرتبط اجرا می‌شود.

در بیشتر موارد switch با keyword break یا default (یا هر دو) استفاده می‌شود. اینها اجباری نیستند:

keyword break بلاک switch را ترک می‌کند. این کار باعث می‌شود که کد بیشتری در داخل بلاک اجرا نشود و/یا تست‌های بیشتر انجام نشود. اگر از break صرف نظر شود، کد بعدی در block switch اجرا می‌شود.

اگر هیچ case‌ای باور نکرد، کلمه کلیدی default کد مربوطه را مشخص می‌کند که باید اجرا شود. در یک switch فقط یک keyword default وجود دارد. اگرچه این گزینه اجباری نیست، اما توصیه می‌شود از آن استفاده کنید زیرا می‌تواند موارد غیرمنتظره را مدیریت کند.

مثال

کد مربوط به ورودی کاربر را اجرا کنید:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case ";موز":
    text = ";موز خوب است!";
    break;
  case ";پرتقال":
    text = ";من از پرتقال علاقه‌ای ندارم.";
    break;
  case ";سیب":
    text = ";آیا از این سیب‌ها خوشتان می‌آید؟";
    break;
  default:
    text = ";من هیچ وقت از این میوه نشنیده‌ام...";
}

آزمایش کنید

مثال‌های بیشتر TIY در پایین صفحه موجود است.

قانون‌نویسی

switch(expression) {
  case n:
    بلاک کد
    break;
  case n:
    بلاک کد
    break;
  default:
    بلاک کد پیش‌فرض
}

مقدار پارامتر

پارامتر توضیح
expression ضروری. بیان کنید که کدام عبارت باید محاسبه شود. عبارت یک بار محاسبه می‌شود. مقدار عبارت با مقدار هر یک از برچسب‌های case در ساختار مقایسه می‌شود. اگر تطابق پیدا کند، کد مربوطه اجرا می‌شود.

جزئیات فنی

نسخه JavaScript: ECMAScript 1

مثال‌های بیشتر

مثال

به کمک شماره weekday امروز weekday نام را محاسبه کنید (Sunday=0, Monday=1, Tuesday=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = ";یکشنبه";
    break;
  case 1:
    day = ";شنبه";
    break;
  case 2:
    day = ";دوشنبه";
    break;
  case 3:
    day = ";سه‌شنبه";
    break;
  case 4:
    day = ";يکشنبه";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Unknown Day";
}

آزمایش کنید

مثال

اگر امروز نه شنبه است و نه جمعه، پیام پیش‌فرضی بنویسید:

var text;
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";
}

آزمایش کنید

مثال

گاهی اوقات ممکن است بخواهید شرایط مختلف از کد مشابه استفاده کنند یا از یک ارزش پیش‌فرض مشترک استفاده کنند.

لطفاً توجه کنید که در این مثال، case‌ها مشترکاً بلوک کد مشترک دارند و case پیش‌فرض نباید آخرین case در block switch باشد (اما اگر default آخرین case در block switch نیست، به یاد داشته باشید که با break پایان دهید).

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Looking forward to the Weekend";
    break; 
  case 4:
  case 5:
    text = "Soon it is Weekend";
    break; 
  case 0:
  case 6:
    text = "It is Weekend";
}

آزمایش کنید

مثال

بر اساس ورودی کاربر از نوار پرسش، از جملات switch برای اجرای بلوک کد استفاده کنید:

var text;
var favDrink = prompt("What's your favorite cocktail drink?");
switch(favDrink) {
  case "Martini":
    text = "Excellent choice! Martini is good for your soul.";
    break;
  case "Daiquiri":
    text = "Daiquiri is my favorite too!";
    break;
  case "Cosmopolitan":
    text = "Really? Are you sure the Cosmopolitan is your favorite?";
    break;
  default:
    text = "I have never heard of that one..";
}

آزمایش کنید

پشتیبانی مرورگر

جمله Chrome IE Firefox Safari Opera
switch پشتیبانی پشتیبانی پشتیبانی پشتیبانی پشتیبانی

صفحات مرتبط

آموزش JavaScript:JavaScript If...Else جمله

آموزش JavaScript:عبارت Switch در JavaScript

دستورالعمل JavaScript:عبارت if/else در JavaScript

دستورالعمل JavaScript:عبارت break در JavaScript