一些语句(switch case...)

switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的
语句(statement)”。而 break 关键字会导致代码执行流跳出 switch 语句。如果省略 break 关键字,
就会导致执行完当前 case 后,继续执行下一个 case。最后的 default 关键字则用于在表达式不匹配前
面任何一种情形的时候,执行机动代码(因此,也相当于一个 else 语句)。

它的好处是可以取代出现各种if else if的判断语句

 1 var num = 8;
 2 switch (num){
 3     case 8:
 4         alert(8);
 5         num=7;
 6         console.log(num);
 7         break;
 8     case 1:alert(1);
 9         break;
10     case 2:alert(2);
11         break;
12     case 3:
13     //合并num等于3或4的情况
14     case 4:alert(3,4);
15         break;
16     case 5:alert(5);
17         break;
18     default:alert("不匹配");
19         break;
20 }

虽然 ECMAScript 中的 switch 语句借鉴自其他语言,但这个语句也有自己的特色。首先,可以在
switch 语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串,还是对象都没有
问题。其次,每个 case 的值不一定是常量,可以是变量,甚至是表达式。

 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 }

case判断布尔值:

 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返回一个布尔值,故switch传达的表达式是true;

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

猜你喜欢

转载自www.cnblogs.com/LeeeOooonHuang/p/11493034.html