最新的Web開發教程
 

JavaScript Switch語句


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


自測練習用!

練習1» 練習2» 練習3» 練習4»