?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
JScript? | 語(yǔ)言參考 |
當(dāng)指定的表達(dá)式的值與某個(gè)標(biāo)簽匹配時(shí),即執(zhí)行相應(yīng)的一個(gè)或多個(gè)語(yǔ)句。
switch (expression) {
???case label :
???????statementlist
???case label :
???????statementlist
???...
???default :
???????statementlist
}
expression
要求值的表達(dá)式。
label
根據(jù) expression 來(lái)匹配的標(biāo)識(shí)符。如果 label === expression,則立即從冒號(hào)后的 statementlist 處開(kāi)始執(zhí)行,直到遇到一個(gè)可選的 break 語(yǔ)句,或到達(dá) switch 語(yǔ)句的最后。
statementlist
要被執(zhí)行的一個(gè)或多個(gè)語(yǔ)句。
使用 default 子句來(lái)提供一個(gè)語(yǔ)句,該語(yǔ)句只在沒(méi)有任何一個(gè)標(biāo)簽值與 expression 相匹配時(shí)才被執(zhí)行。它可以出現(xiàn)在 switch 代碼塊內(nèi)的任何地方。
可以指定零或多個(gè) label 塊。如果沒(méi)有 label 和 expression 的值匹配,并且沒(méi)有提供 default 情況,則不執(zhí)行任何語(yǔ)句。
通過(guò) switch 語(yǔ)句執(zhí)行流程如下:
下面示例測(cè)試一個(gè)對(duì)象的類型:
function MyObject() { ...} switch (object.constructor){
???case Date:
???...
???case Number:
???...
???case String:
???...
???case MyObject:
???...
???default:
???...
}
版本 3
break 語(yǔ)句 | if...else 語(yǔ)句