switch 是一个不常用的语句,了解即可,我们基本不用。
js
//语法
switch(表达式){
case 数据1:
代码块
case 数据2:
代码块
...
default:
代码块
}switch 的功能为,对表达式进行求值,依次和 case 后面的数据进行严格相等(三等号)的比较,如果和某个 case 相等,则执行该 case 之后的所有代码块。如果没有任何一个 case 与表达式的值严格相等,那么运行 default。
default 可以不写
我们写一个 demo
js
var a = 20;
switch(a){
case 10:
console.log(10);
case 20:
console.log(20);
case 30:
console.log(30);
default:
console.log("default");
}输出结果如下

该语句会先将 a 的值求出来,求出来是 20,比较第一个 case,发现 20 和 10 并不严格相等,于是比较第二个 case,发现第二个 case 能匹配上,于是执行第二个 case 后面的所有代码块,包括对 20,30 和 default 的输出。
我们发现这玩意儿好像会向下漏,但这往往不是我们要达到的效果,我们希望匹配到 20 就只输出 20,匹配到 30 就只输出 30,这也可以做到,我们可以在每个代码块下面添加 break 关键字即可。
js
var a = 20;
switch(a){
case 10:
console.log(10);
break;
case 20:
console.log(20);
break;
case 30:
console.log(30);
break;
default:
console.log("default");
}此时就只会输出 20。break 关键字可以用于跳出 switch 语句,当匹配到 20 之后,执行第二个 case 后面所有的代码块,先执行 console.log(20); 然后执行到 break,由于 break 可以跳出 switch 语句,所以就不会再继续往后执行。