switch 语句

当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。

switch (expression) {
   case label :
       statementlist
   case label :
       statementlist
   ...
   default :

       statementlist
}

参数

expression

要求值的表达式。

label

根据 expression 来匹配的标识符。如果 label === expression,则立即从冒号后的 statementlist 处开始执行,直到遇到一个可选的 break 语句,或到达 switch 语句的最后。

statementlist

要被执行的一个或多个语句。

说明

使用 default 子句来提供一个语句,该语句只在没有任何一个标签值与 expression 相匹配时才被执行。它可以出现在 switch 代码块内的任何地方。

可以指定零或多个 label 块。如果没有 labelexpression 的值匹配,并且没有提供 default 情况,则不执行任何语句。

通过 switch 语句执行流程如下:

示例

下面示例测试一个对象的类型:

function MyObject() {
...}

switch (object.constructor){
   case Date:
   ...
   case Number:
   ...
   case String:
   ...
   case MyObject:
   ...
   default: 
   ...
}

要求

版本 3

请参阅

break 语句 | if...else 语句

www.holmesian.org