JavaScript Switch 语句

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

JavaScript Switch 语句

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

مقدمه به زبان

switch(عبارت) {
     case n:
        block code
        break;
     case n:
        block code
        break;
     default:
        block default code
} 

توضیح کد:

  • یک بار switch expression محاسبه می‌شود
  • مقدار عبارت با هر case مقایسه می‌شود
  • اگر تطابق وجود دارد، کد مرتبط اجرا می‌شود

实例

مетод getDay() یک عدد از 0 تا 6 به عنوان نام هفته‌ها (weekday number) برمی‌گرداند.

(Sunday=0, Monday=1, Tuesday=2 ..)

در این مثال از عدد نام هفته برای محاسبه نام هفته استفاده می‌شود:

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 = "پنج‌شنبه";
         break;
    case 6:
        day = "جمعه";
} 

نتیجه:


亲自试一试

کلمه کلیدی break

اگر JavaScript به break کلمه کلیدی که اجرای block switch را متوقف می‌کند.

این کار اجرای کد بیشتری در block و تست case‌ها را متوقف می‌کند.

اگر تطابق پیدا کرد و کار انجام شد، اجرا به صورت تصادفی متوقف می‌شود (break). نیاز به تست بیشتری نیست.

break این می‌تواند زمان زیادی را در اجرای کد صرفه‌جویی کند، زیرا کد دیگر در block switch را اجرا نمی‌کند.

در پایان block switch، نیاز به استفاده از break نیست. کد در اینجا به طور طبیعی پایان می‌یابد.

کلمه کلیدی default

default کلمه کلیدی تعیین می‌کند که کدام کد در صورت عدم تطابق case اجرا می‌شود:

实例

getDay() این روش یک عدد از 0 تا 6 به عنوان نام هفته‌ها برمی‌گرداند.

اگر امروز نه شنبه (6) است و نه یکشنبه (0)، یک پیام پیش‌فرض نمایش داده می‌شود:

switch (new Date().getDay()) {
    case 6:
        text = "امروز شنبه است";
        break; 
    case 0:
        text = "امروز یکشنبه است";
        break; 
    default: 
        text = "انتظار آخر هفته~";
} 

نتیجه text:


亲自试一试

defaultcase‌های

实例

switch (new Date().getDay()) {
    default: 
        text = "انتظار آخر هفته!";
         break;
    case 6:
        text = "امروز شنبه است";
        break; 
    case 0:
        text = "امروز یکشنبه است";
} 

亲自试一试

اگر default در پایان کد block switch، حتماً از break برای پایان default استفاده کنید.

کد مشترک

گاهی ممکن است نیاز به استفاده از کدهای مشابه در case‌های مختلف داشته باشید.

در این مثال، case 4 و 5 کد مشترک دارند، در حالی که 0 و 6 کد دیگری دارند:

实例

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "آخر هفته به زودی می‌رسد:))
        break; 
    case 0:
    case 6:
        text = "امروز آخر هفته است~";
         break;
    default: 
        text = "انتظار آخر هفته!";
} 

亲自试一试

جزئیات Switching

如果多种 case 匹配一个 case 值,则选择第一个 case。

如果未找到匹配的 case,程序将继续使用默认 label。

如果未找到默认 label,程序将继续 switch 后的语句。

严格的比较

Switch case 使用严格比较(===)。

值必须与要匹配的类型相同。

只有操作数属于同一类型时,严格比较才能为 true。

在这个例子中,x 将不匹配:

实例

var x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}

亲自试一试

课外书

如需更多有关 JavaScript Switch 语句的知识,请阅读 JavaScript 高级教程中的相关内容:

ECMAScript switch 语句
switch 语句是 if 语句的兄弟语句。本节介绍了 switch 语句的用法,以及与 Java 中的 switch 语句的不同。