switch 语句
2008-01-05 08:13:11 来源:WEB开发网核心提示: 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句,switch 语句,switch (eXPRession) { case label : statementlist case label : statementlist ... default : statementlist} 参数expression
当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。
switch (eXPRession) {
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}
参数
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:
...
}
要求
版本 3
请参阅
break 语句 if...else 语句
更多精彩
赞助商链接