該switch語句用於執行根據不同的條件不同的動作。
JavaScript的Switch語句
使用switch語句選擇要執行的代碼很多塊之一。
句法
switch( expression ) {
case n :
code block
break;
case n :
code block
break;
default:
default code block
}
這是它的工作原理:
- 該switch表達式計算一次。
- 表達式的值與每種情況下的值進行比較。
- 如果存在匹配,則執行的代碼相關的塊。
例
該getDay()方法返回平日為0和6之間的數字(Sunday=0, Monday=1, Tuesday=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";
break;
}
天的結果將是:
Sunday
試一試» 在break關鍵字
當JavaScript代碼解釋達到break的關鍵字,它打破了的switch塊。
這將停止塊中更多的代碼和測試案例的執行。
一個break可以節省大量的執行時間,因為它“忽視”,在所有的代碼,其餘的執行switch塊。
在default關鍵字
該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";
}
文本的結果將是:
Today is Sunday
試一試» 通用代碼和落空
有時,在switch塊,你會希望不同情況下使用相同的代碼,或者落下後到達一個共同的默認值。
從下面的例子中注意,例可以共享相同的代碼塊,並且該默認情況下不必在一個最後的情況下switch塊:
例
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";
}
試一試» 如果default是不是在後一種情況下switch塊,記得一結束它break 。