合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# ECMAScript switch 语句 ## switch 语句 switch 语句是 if 语句的兄弟语句。 开发者可以用 switch 语句为表达式提供一系列的情况(case)。 switch 语句的语法: ``` switch (_expression_) case _value_: _statement_; break; case _value_: _statement_; break; case _value_: _statement_; break; case _value_: _statement_; break; ... case _value_: _statement_; break; default: _statement_; ``` 每个情况(case)都是表示“如果 _expression_ 等于 _value_,就执行 _statement_”。 关键字 break 会使代码跳出 switch 语句。如果没有关键字 break,代码执行就会继续进入下一个 case。 关键字 default 说明了表达式的结果不等于任何一种情况时的操作(事实上,它相对于 else 从句)。 switch 语句主要是为避免让开发者编写下面的代码: ``` if (i == 20) alert("20"); else if (i == 30) alert("30"); else if (i == 40) alert("40"); else alert("other"); ``` 等价的 switch 语句是这样的: ``` switch (i) { case 20: alert("20"); break; case 30: alert("30"); break; case 40: alert("40"); break; default: alert("other"); } ``` ## ECMAScript 和 Java 中的 switch 语句 ECMAScript 和 Java 中的 switch 语句有两点不同。在 ECMAScript 中,switch 语句可以用于字符串,而且能用不是常量的值说明情况: ``` var BLUE = "blue", RED = "red", GREEN = "green"; switch (sColor) { case BLUE: alert("Blue"); break; case RED: alert("Red"); break; case GREEN: alert("Green"); break; default: alert("Other"); } ``` 这里,switch 语句用于字符串 sColor,声明 case 使用的是变量 BLUE、RED 和 GREEN,这在 ECMAScript 中是完全有效的。