JavaScript switch-case語(yǔ)句

2021-08-27 14:11 更新

switch case

你可以像前面章節(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ǔ)句。

語(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


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)