JavaScript Switch 語句

JavaScript Switch 語句

  • JS 條件
  • JS Loop For


JavaScript Switch 語句


switch 語句用於基於不同條件執行不同動作。

JavaScript Switch 語句

請使用 switch 語句來選擇多個需被執行的代碼塊之一。

語法

<code>switch(表達式) {
case n:
代碼塊
break;
case n:
代碼塊
break;
default:
默認代碼塊
}
/<code>

代碼解釋:

  • 計算一次 switch 表達式
  • 把表達式的值與每個 case 的值進行對比
  • 如果存在匹配,則執行關聯代碼

實例

getDay() 方法返回 0 至 6 之間的周名數字(weekday number)。

(Sunday=0, Monday=1, Tuesday=2 ..)

本例使用周名數字來計算周的名稱:

<code>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 = "星期六";
}
/<code>

結果將是:

<code>今天是星期一
/<code>

親自試一試

break 關鍵詞

如果 JavaScript 遇到 break 關鍵詞,它會跳出 switch 代碼塊。

此舉將停止代碼塊中更多代碼的執行以及 case 測試。

如果找到匹配,並完成任務,則隨機中斷執行(break)。無需更多測試。

break 能夠節省大量執行時間,因為它會“忽略” switch 代碼塊中的其他代碼的執行。

不必中斷 switch 代碼塊中的最後一個 case。代碼塊在此處會自然結束。

default 關鍵詞

default 關鍵詞規定不存在 case 匹配時所運行的代碼:

實例

getDay() 方法返回 0 至 6 的數字周名。

如果今日既不是週六(6)也不是週日(0),則輸出一段默認消息:

<code>switch (new Date().getDay()) {
case 6:
text = "今天是週六";
break;
case 0:
text = "今天是週日";
break;
default:
text = "期待週末~";
}
/<code>

text 的結果是:

<code>期待週末~
/<code>

親自試一試

默認的 case 不必是 switch 代碼塊中最後一個 case:

實例

<code>switch (new Date().getDay()) {
default:
text = "期待週末!";
break;
case 6:
text = "今天是週六";
break;
case 0:
text = "今天是週日";
}
/<code>

親自試一試

如果 default 不是 switch 代碼塊中最後一個 case,請記得用 break 結束默認 case。

常見的代碼塊

有時您會需要不同的 case 來使用相同的代碼。

在本例中,case 4 和 5 分享相同的代碼塊,而 0 和 6 分享另一段代碼塊:

實例

<code>switch (new Date().getDay()) {
case 4:
case 5:
text = "週末快到了:)";
break;
case 0:
case 6:

text = "今天是週末~";
break;
default:
text = "期待週末!";
}
/<code>

親自試一試

Switching 的細節

如果多種 case 匹配一個 case 值,則選擇第一個 case。

如果未找到匹配的 case,程序將繼續使用默認 label。

如果未找到默認 label,程序將繼續 switch 後的語句。

嚴格的比較

Switch case 使用嚴格比較(===)。

值必須與要匹配的類型相同。

只有操作數屬於同一類型時,嚴格比較才能為 true。

在這個例子中,x 將不匹配:

實例

<code>var x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;

default:
text = "No value found";
}
/<code>

親自試一試


分享到:


相關文章: