switch語句

switch語句

switch語句是當指定的表達式的值與某個標籤匹配時,即執行相應的一個或多個語句。

詞語釋義


當指定的表達式的值與某個標籤匹配時,即執行相應的一個或多個語句。
switch (expression) {
case label :
case label :
statementlist
...
default:
statementlist
}

相關條目


參數
expression
要求值的表達式。
根據 expression 來匹配的標識符。如果 label =expression,則立即從冒號后的 statementlist 處開始執行,直到遇到一個可選的 break 語句,或到達 switch 語句的最後。
statementlist
要被執行的一個或多個語句。
說明
使用 default 子句來提供一個語句,該語句只在沒有任何一個標籤值與 expression 相匹配時才被執行。它可以出現在 switch 代碼塊內的任何地方。可以指定零或多個 label 塊。如果沒有 label 和 expression 的值匹配,並且沒有提供 default 情況,則不執行任何語句。
通過 switch 語句執行流程如下:
1. 求 expression 的值並依次序查看 label,直到找到一個匹配。
2. 如果 label 的值等於 expression 的值,則執行它相應的 statementlist。繼續執行,直到遇到一個 break 語句,或者 switch 語句結束。這意味著如果沒有使用一個 break 語句,則多個 label 塊被執行。
3. 如果沒有 label 等於 expression 的值,則跳轉到 default 情況。如果沒有 default 情況,則跳轉到最後一步。
4. 繼續執行緊接 switch 代碼塊末尾的語句。
示例
下面示例測試一個對象的類型:
functionMyObject() {
...}
switch (object.constructor){
case Date:
...
case Number:
...
case String:
...
case MyObject:
...
default:
...
}