استفاده از سوئیچ در زبان جاوا اسکریپت در هنگامی که میخواهیم از بین چندین قطعه بلاک کد برای اجرا شدن یکی (یا چند تا) را طبق مقدار ورودی انتخاب کنیم بسیار مناسب است.
نحوه نگارش دستور سوئیچ در جاوا اسکریپت
نحوه نگارش دستور سوییچ در زبان جاوا اسکریپت اینگونه است:
switch(expression or literal value){
case 1:
//code to be executed
break;
case 2:
//code to be executed
break;
case n:
//code to be executed
break;
default:
//default code to be executed
//if none of the above case executed
}
همین طور که در سینتکس بالا می بینید، ابتدا باید به دستور switch
یک مقدار وارد شود. این مقدار می تواند یک متغیر یا یک Literal باشد.
هنگامی که مقدار مورد نظر را به سوئیچ میدهیم، سوئیچ از بین case
های مشخص شده اولین case
منطبق را میابد و کد های زیر مجموعه آن case
را اجرا می کند.
برنامه نویس در هنگام تعریف به یک سوئیچ می تواند هر تعداد که بخواهد case
مشخص کند تا شرایط برای اجرای کد ها را تعیین کند.
دقت کنید که در دستور سوییچ کد ها تا زمانی اجرا می شوند که به کلمه کلیدی
break
برسد. پس اگر شرطی در یکcase
برقرار باشد ولی در آنcase
از دستورbreak
استفاده نشده باشد سیستمcase
های بعدی را نیز بررسی خواهد کرد.
مورد default
شبیه else
عمل می کند. در واقع این دستور برای سوئیچ مشخص می کند که اگر هیچ کدام از case
ها برقرار نبود چه قطعه کدی اجرا شود.
به مثال زیر توجه کنید:
var a = 3;
switch (a) {
case 1:
alert('case 1 executed');
break;
case 2:
alert("case 2 executed");
break;
case 3:
alert("case 3 executed");
break;
case 4:
alert("case 4 executed");
break;
default:
alert("default case executed");
}
فصل 19 – مثال 1
در مثال بالا متغیری به نام a
به سوئیچ داده شده است و به ترتیب چهار case
با شروط مختلف تعیین شده اند که در صورت برابر بودن a با هر یک، کد های زیر مجموعه آن اجرا خواهد شد. در مثال بالا a
برابر 3 است پس آلرت case 3 executed نشان داده می شود.
در مثال بالا چون از کلمه کلیدی break
استفاده شده است، به اولین case
منطبق که برسیم کد های زیر مجموعه آن اجرا می شود و سوئیچ به پایان خواهد رسید. در صورتی که از کلمه کلیدی break
استفاده نشده باشد سیستم همچنان برای پیدا کردن کیس های منطبق، کار خود را ادامه خواهد داد.
استفاده از عبارات به عنوان Case در سوئیچ جاوا اسکریپت
یک case
در سوئیچ همچنین می تواند حاوی عبارتی خاص نیز برای شرط باشد. به مثال زیر توجه کنید:
var a = 3;
switch (a/3) {
case 1:
alert("case 1 executed");
break;
case 2:
alert("case 2 executed");
break;
case 3:
alert("case 3 executed");
break;
case 4:
alert("case 4 executed");
break;
default:
alert("default case executed");
}
فصل 19 – مثال 2
در مثال بالا مورد اول اجرا خواهد شد زیرا 3/3=1
است.
استفاده از رشته به عنوان Case در سوئیچ جاوا اسکریپت
همچنین در دستور سوئیچ در زبان جاوا اسکریپت می توانید از رشته نیز استفاده کنید مانند مثال زیر:
var str = "mehdi";
switch (str)
{
case "abbas":
alert("عباس اینجاست");
case "asghar":
alert("اصغر اینجاست");
break;
case "mehdi":
alert("مهدی اینجاست");
break;
default:
alert("شخص ناشناخته");
break;
}
فصل 19 – مثال 3
ادغام چند Case در یک سوئیچ جاوا اسکریپت
همچنین زبان جاوا اسکریپت اجازه ادغام چند case
را نیز می دهد، این عملیات هنگامی انجام می شود که شما case
های متعدد بدون break
و بدون کد زیرمجموعه بنویسید. مانند مثال زیر:
var a = 2;
switch (a) {
case 1:
case 2:
case 3:
alert("case 1, 2, 3 executed");
break;
case 4:
alert("case 4 executed");
break;
default:
alert("default case executed");
}
فصل 19 – مثال 4