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 中是完全有效的。