在switch中执行的是全等(===)来与各个 cese 子句中的值进行匹配的。由于使用的是全等运算符,因此不会自动转换每个值的类型。
var a = '2';
switch (a) {
case ('1' || '2') :
console.log('我是1或2');
break;
default:
console.log("默认输出");
}
//输出 默认输出
上面代码运行结果 打印出来的是 “默认输出” 而不是 “我是1或2”,如图,switch是这种比较
a === ('1' || '2')
所以当a = 2的时候会输出 “默认输出”,当a = 1的时候会输出 “我是1或2”