W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你可以像前面章節(jié)那樣用多個(gè) if…else if 語(yǔ)句來(lái)執(zhí)行多個(gè)代碼塊。然而,這不是最佳解決方案,尤其是當(dāng)所有代碼塊的執(zhí)行依賴于單個(gè)變量值時(shí)。
從 JavaScript 1.2 開始,你可以使用一個(gè) switch 語(yǔ)句來(lái)處理上面提到的問(wèn)題,而且這樣做的效率遠(yuǎn)高于重復(fù)使用if…else if 語(yǔ)句。
switch語(yǔ)句的基本語(yǔ)法是給定一個(gè)判斷表達(dá)式以及若干不同語(yǔ)句,根據(jù)表達(dá)式的值來(lái)執(zhí)行這些語(yǔ)句。編譯器檢查每個(gè)case是否與表達(dá)式的值相匹配。如果沒(méi)有與值相匹配的,則執(zhí)行缺省條件。
switch (expression){
case condition 1: statement(s) break;
case condition 2: statement(s) break;
...
case condition n: statement(s) break;
default: statement(s)
}
break語(yǔ)句用于在特殊case的最后終止程序。如果省略掉break,編譯器將繼續(xù)執(zhí)行下面每個(gè)case里的語(yǔ)句。
我們將在循環(huán)控制那一章節(jié)里繼續(xù)討論break語(yǔ)句。
下面這個(gè)例子演示了一個(gè)基本的while循環(huán):
var grade='A';
document.write("Entering switch block<br />");
switch (grade){
case 'A': document.write("Good job<br />"); break;
case 'B': document.write("Pretty good<br />"); break;
case 'C': document.write("Passed<br />"); break;
case 'D': document.write("Not so good<br />"); break;
case 'F': document.write("Failed<br />"); break;
default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
程序運(yùn)行結(jié)果如下:
Entering switch block
Good job
Exiting switch block
看一下如果沒(méi)用break語(yǔ)句的情況:
var grade='A';
document.write("Entering switch block<br />");
switch (grade){
case 'A': document.write("Good job<br />");
case 'B': document.write("Pretty good<br />");
case 'C': document.write("Passed<br />");
case 'D': document.write("Not so good<br />");
case 'F': document.write("Failed<br />");
default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
程序運(yùn)行結(jié)果如下:
Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: