Microsoft(R) JScript(R) switch 语句 |
语言参考 版本 3 |
当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。
switch (expression) {
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}switch 语句的语法组成如下:
部分 描述 expression 要求值的表达式。 label 根据 expression 来匹配的标识符。如果 label === expression,则立即从冒号后的 statementlist 处开始执行,直到遇到一个可选的 break 语句,或到达 switch 语句的最后。 statementlist 要被执行的一个或多个语句。
使用 default 子句来提供一个语句,该语句只在没有任何一个标签值与 expression 相匹配时才被执行。它可以出现在 switch 代码块内的任何地方。可以指定零或多个 label 块。如果没有 label 和 expression 的值匹配,并且没有提供 default 情况,则不执行任何语句。
通过 switch 语句执行流程如下:
下面示例测试一个对象的类型:
- 求 expression 的值并依次序查看 label,直到找到一个匹配。
- 如果 label 的值等于 expression 的值,则执行它相应的 statementlist。
继续执行,直到遇到一个 break 语句,或者 switch 语句结束。这意味着如果没有使用一个 break 语句,则多个 label 块被执行。- 如果没有 label 等于 expression 的值,则跳转到 default 情况。 如果没有 default 情况,则跳转到最后一步。
- 继续执行紧接 switch 代码块末尾的语句。
function MyObject() { ...} switch (object.constructor){ case Date: ... case Number: ... case String: ... case MyObject: ... default: ... }