JavaScript Switch 语句
- 上一页 JS 条件
- 下一页 JS Loop For
شیتچ
استفاده میشود تا بر اساس شرایط مختلف، عملیات مختلفی را اجرا کند.
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 语句的不同。
- 上一页 JS 条件
- 下一页 JS Loop For