1、每个<span style="color: #c7254e;">case</span>代码块内部的<span style="color: #c7254e;">break</span>语句不能少,否则会接下去执行下一个<span style="color: #c7254e;">case</span>代码块,而不是跳出<span style="color: #c7254e;">case</span>结构。
2、<span style="color: #c7254e;">switch</span>语句后面的表达式与<span style="color: #c7254e;">case</span>语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(<span style="color: #c7254e;">===</span>),而不是相等运算符(<span style="color: #c7254e;">==</span>),这意味着比较时不会发生类型转换。
~~~
var i = 1;
switch (i) {
case true:
console.log('i发生类型转换');
break;
default:
console.log('i没有发生类型转换');
}
// i没有发生类型转换
~~~