JavaScript Switch 語句
switch
語句用於基於不同條件執行不同操作。
JavaScript Switch 語句
使用 switch
語句從多個程式碼塊中選擇一個來執行。
語法
switch(expression) {
case x
// 程式碼塊
break;
case y
// 程式碼塊
break;
default
// 程式碼塊
}
工作原理如下
- switch 表示式僅計算一次。
- 表示式的值將與每個 case 的值進行比較。
- 如果匹配,則執行關聯的程式碼塊。
- 如果沒有匹配項,則執行 default 程式碼塊。
示例
getDay()
方法返回星期幾,數字介於 0 到 6 之間。
(星期日=0, 星期一=1, 星期二=2...)
此示例使用星期幾的數字來計算星期幾的名稱
switch (new Date().getDay()) {
case 0
day = "Sunday";
break;
case 1
day = "星期一";
break;
case 2
day = "Tuesday";
break;
case 3
day = "星期三";
break;
case 4
day = "Thursday";
break;
case 5
day = "Friday";
break;
case 6
day = "星期六";
}
day 的結果將是
break 關鍵字
當 JavaScript 遇到 break
關鍵字時,它會跳出 switch 塊。
這將停止 switch 塊內的執行。
switch 塊中的最後一個 case 不一定需要 break。塊在那裡(結束) anyway。
注意: 如果省略 break 語句,即使求值不匹配 case,下一個 case 也會被執行。
default 關鍵字
default
關鍵字指定如果沒有 case 匹配時執行的程式碼
示例
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";
}
text 的結果將是
default
case 不一定在 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
不是 switch 塊中的最後一個 case,請記住用 break 結束 default case。
共享程式碼塊
有時您希望不同的 switch cases 使用相同的程式碼。
在此示例中,case 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";
}
自己動手試一試 »
Switching Details
如果多個 case 與 case 值匹配,則選擇 **第一個** case。
如果找不到匹配的 case,程式將繼續執行 **default** 標籤。
如果未找到 default 標籤,程式將繼續執行 **switch 之後的** 語句。
嚴格比較
Switch cases 使用 **嚴格** 比較 (===)。
要匹配,值必須是同一型別。
嚴格比較只有在運算元型別相同時才可能為 true。
在此示例中,x 沒有匹配項
示例
let x = "0";
switch (x) {
case 0
text = "Off";
break;
case 1
text = "On";
break;
default
text = "No value found";
}
自己動手試一試 »