W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
switch 語句用于在不同的條件執(zhí)行不同的動作。搭配case和default使用(default可以認為是一個特殊的case,case對應(yīng)一種或多種(default)情況,Switch語句沒有case是沒有辦法體現(xiàn)其功能的)。
請使用 switch 語句來選擇要執(zhí)行的多個代碼塊之一。你可以在JavaScript編程實戰(zhàn)中了解怎么使用switch語句進行多選項選擇。
switch(n){
case 1:
執(zhí)行代碼塊 1
break;
case 2:
執(zhí)行代碼塊 2
break;
default:
n 與 case 1 和 case 2 不同時執(zhí)行的代碼
}
代碼解釋:
工作原理:首先設(shè)置表達式 n(通常是一個變量)。隨后表達式的值會與結(jié)構(gòu)中的每個 case 的值做比較。如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會被執(zhí)行。請使用 break
來阻止代碼自動地向下一個 case 運行,因為默認情況下Switch會按順序?qū)⑺衅ヅ涞腸ase(default)執(zhí)行完畢!
顯示今天的星期名稱。請注意 Sunday=0, Monday=1, Tuesday=2, 等等:
x 的運行結(jié)果:
Today it's Sunday
如果 JavaScript 遇到 break
關(guān)鍵詞,它會跳出 switch 代碼塊。
此舉將停止代碼塊中更多代碼的執(zhí)行以及 case
測試。
如果找到匹配,并完成任務(wù),則隨機中斷執(zhí)行(break)。無需更多測試。
break
能夠節(jié)省大量執(zhí)行時間,因為它會“忽略” switch 代碼塊中的其他代碼的執(zhí)行。
不必中斷 switch 代碼塊中的最后一個 case
。代碼塊在此處會自然結(jié)束。
請使用 default 關(guān)鍵詞來規(guī)定匹配不存在時做的事情(default也是case,是一類特殊的case,即已有case情況外的case):
如果今天不是星期六或星期日,則會輸出默認的消息:
default不必是 switch 代碼塊中最后一個 case:
switch (new Date().getDay()){
default:
text = "期待周末!";
break;
case 6:
text = "今天是周六";
break;
case 0:
text = "今天是周日";
}
如果 default 不是 switch 代碼塊中最后一個 case,請記得用 break 結(jié)束默認 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 = "期待周末!";
}
如果多種 case 匹配一個 case 值,則選擇第一個 case。
如果未找到匹配的 case,程序?qū)⒗^續(xù)使用默認 label。
如果未找到默認 label,程序?qū)⒗^續(xù) switch 后的語句。
Switch case 使用嚴格比較(===)。
值必須與要匹配的類型相同。
只有操作數(shù)屬于同一類型時,嚴格比較才能為 true。
在這個例子中,x 將不匹配:
var x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}
輕松學(xué)習(xí)JavaScript:JavaScript Switch Case
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: