از switch
دستور برای انجام اقدامات مختلف بر اساس شرایط مختلف استفاده می شود.
بیانیه سوئیچ جاوا اسکریپت
از switch
عبارت برای انتخاب یکی از بسیاری از بلوک های کد برای اجرا استفاده کنید.
نحو
switch(expression) { case x: // code block break; case y: // code block break; default: // code block }
اینجوری کار میکند:
- عبارت سوئیچ یکبار ارزیابی می شود.
- مقدار عبارت با مقادیر هر مورد مقایسه می شود.
- در صورت تطابق ، کد مرتبط کد اجرا می شود.
- در صورت عدم مطابقت ، بلوک کد پیش فرض اجرا می شود.
مثال
این getDay()
روش روز هفته را به عنوان عددی بین 0 تا 6 برمی گرداند.
(یکشنبه = 0 ، دوشنبه = 1 ، سه شنبه = 2 ..)
این مثال برای محاسبه نام روز هفته از شماره روز هفته استفاده می کند:
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"; }
نتیجه روز خواهد بود:
Tuesday
شکستن کلمه کلیدی
وقتی JavaScript به یک break
کلمه کلیدی می رسد ، از بلوک سوییچ خارج می شود.
با این کار اجرای داخل بلوک سوییچ متوقف می شود.
شکستن مورد آخر در یک بلوک سوئیچ ضروری نیست. به هر حال بلوک در آنجا می شکند (پایان می یابد).
توجه: اگر دستور break را حذف کنید ، پرونده بعدی حتی اگر ارزیابی با پرونده مطابقت نداشته باشد ، اجرا می شود.
کلید واژه پیش فرض
default
کلمه کلیدی کد برای اجرا اگر هیچ بازی مورد وجود دارد:
مثال
این getDay()
روش روز هفته را به عنوان عددی بین 0 تا 6 برمی گرداند.
اگر امروز نه شنبه (6) است و نه یکشنبه (0) ، یک پیام پیش فرض بنویسید:
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"; }
نتیجه متن:
Looking forward to the Weekend
default
مورد ندارد به آخرین مورد در یک بلوک switch:
مثال
switch (new Date().getDay()) { default: text = "Looking forward to the Weekend"; break; case 6: text = "Today is Saturday"; break; case 0: text = "Today is Sunday"; }
اگر default
آخرین مورد در بلوک سوئیچ نیست ، به یاد داشته باشید که پرونده پیش فرض را با وقفه خاتمه دهید.
بلوک های کد مشترک
گاهی اوقات شما می خواهید که موارد مختلف سوئیچ از یک کد استفاده کنند.
در این مثال مورد 4 و 5 از همان بلوک کد و 0 و 6 در یک کد کد دیگر مشترک هستند:
مثال
switch (new Date().getDay()) { case 4: case 5: text = "Soon it is Weekend"; break; case 0: case 6: text = "It is Weekend"; break; default: text = "Looking forward to the Weekend"; }
تغییر جزئیات
اگر چندین مورد با مقدار مورد مطابقت داشته باشد ، اولین مورد انتخاب می شود.
اگر مورد منطبقی پیدا نشد ، برنامه تا برچسب پیش فرض ادامه پیدا می کند .
اگر هیچ برچسب پیش فرض پیدا نشود ، برنامه بعد از تعویض به عبارت (ها) ادامه می دهد .
مقایسه دقیق
موارد سوئیچ از مقایسه دقیق استفاده می کنند (===).
مقادیر باید از همان نوع باشند تا مطابقت داشته باشند.
مقایسه دقیق فقط در صورتی می تواند درست باشد که عملوندها از یک نوع باشند.
در این مثال هیچ تطبیقی برای x وجود نخواهد داشت:
مثال
let x = "0"; switch (x) { case 0: text = "Off"; break; case 1: text = "On"; break; default: text = "No value found"; }