ECMA中的switch语句

switch借鉴自其他语言,但也有自己的特色。

1、可以在switch语句中使用任何数据类型(数值、字符串、对象等),很多其他语言中只能使用数值。

2、每个case的值不一定是常量,可以是变量或者表达式。

例1:

 1 switch ("hello world") {
 2      case "hello" + "world" :
 3           alert("Greeting was found.");
 4           break;
 5      case "goodbye" :
 6           alert("Closing was found.");
 7           break;
 8      default:
 9           alert("Unexpected message was found.");
10
11 }          

运行结果:Greeting was found.

例2:

 1 var num = 25;
 2 switch (true) {
 3     case num < 0:
 4         alert("Less than 0.");
 5         break;
 6     case num >= 0 && num <= 10:
 7         alert("Between 0 and 10.");
 8         break;
 9     case num >= 10 && num <= 20:
10         alert("Between 10 and 20.")
11         break;
12     default:
13         alert("More than 20.")
14 }

注:给case赋值true是因为每个case都会返回一个布尔值,这样每个case按照顺序被求值,直到找到匹配的值或者遇到default语句为止。

switch语句在比较值时使用的是全等操作符,不会发生类型转换(如字符串 ”10“ 不等于数值10)!

上一篇:106运用SWITCH语句打印星期几的单词


下一篇:Switch语句的case穿透