سبد (0)

دستور switch

مثال (دستور switch)

استفاده از عدد روز(نسبت به هفته) برای مشخص کردن نام ِ روز از هفته(Sunday=0, Monday=1, Tuesday=2):

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

خروجی day  در کد بالا:

Sunday

خودتان امتحان کنید »

در انتهای این صفحه، مثال های بیشتری آورده شده است.


تعریف و کاربرد

دستور switch یک قطعه کد را بر اساس موردهای(case) مختلف اجرا می کند.

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

دستور switch، یک عبارت را مورد بررسی قرار داده، و مقدار به دست آمده را با مقادیر هر case مقایسه می کند، اگر که تطابقی وجود داشته باشد، قطعه کد مربوطه اجرا می شود.

در دستور switch،می توان از دو کلمه break  و default استفاده کرد، هر دوی این کلمات اختیاری هستند: 

از دستور break برای خارج شدن از بلوک switch استفاده می کنیم . استفاده از این دستور باعث می شود که اجرای کدهای دیگر متوقف شده و همچنین تست شدن case ها متوقف شود.اگر دستور break از قلم انداخته شود،کد بلوک بعدی در دستور switch اجرا می شود.

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


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

دستور     
switch بله بله بله بله بله

نحوه استفاده

switch(expression) {
    case n:
        code block
        break;
    case n:
        code block
        break;
    default:
        default code block
}

مقادیر پارامترها

پارامترتوضیحات
expression

ضروری. یک عبارت را مشخص می کند که قرار است ارزیابی شود.این عبارت تنها یک بار ارزیابی می شود.مقدار این عبارت با مقادیر هر case مقایسه می شود.در صورتی که یک تطابق وجود داشته باشد،کدهای این case اجرا می شوند.

جزئیات تکنیکی

نسخه JavaScript 1.2

مثال

مثال - خودتان امتحان کنید

مثال (دستور switch)

در صورتی که امروز saturday یا sunday نباشد ، یک متن پیش فرض را در یک متغیر قرار می دهیم:

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

خروجی text در کد بالا

Today is Sunday

خودتان امتحان کنید »

مثال (دستور switch)

گاهی اوقات شما می خواهید که case های مختلف،کدهای یکسانی داشته باشند،یا برابر با مقدار default شوند.

به خاطر داشته باشید که در این مثال، case ها کدهایشان را با یکدیگر به اشتراک می گذارند.

همچنین لازم نیست که عبارت default، آخرین case از دستورات باشد.

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)

استفاده از دستور 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..";
        break;
}

خودتان امتحان کنید »

آموزش های مرتبط

آموزش جاوا اسکریبت: JavaScript If...Else Statements

آموزش جاوا اسکریبت: JavaScript Switch Statement

مرجع جاوا اسکریبت: JavaScript if/else Statement

مرجع جاوا اسکریبت: JavaScript break Statement


مرجع دستورات JavaScript مرجع دستورات JavaScript


تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه