switch 语句注意事项

switch 语句为表达式提供一系列的情况(case)。每个情况(case)都是表示“如果 expression 等于 value,就执行 statement”。

关键字 break 会使代码跳出 switch 语句。如果没有关键字 break,代码执行就会继续进入下一个 case。

var x=0;
switch(++x)
{
case 0: ++x;
case 1: ++x;
case 2: ++x;
}
//3

如果加上break,比如这样:

var x=0;
switch(++x)
{
case 0: ++x;
break;
case 1: ++x;
break;
case 2: ++x;
}
//2

这里为什么不在case 0 那就停止执行?原因在于参数是 ++x,而不是x。

var x=0;
switch(x)
{
case 0: ++x;
break;
case 1: ++x;
break;
case 2: ++x;
}
//1

实际上,参数++x传参进去以后,条件已经变成1,实际上是从case 1 开始执行的。

switch在判断的时候使用的是全等号“===”,全等号在比较的时候首先看数据类型是不是一样的。

var a = '5';
switch (a) {
  case 5:
    console.log('==');
    break;
  case "5":
    console.log('===');
    break;
  default:
}
// ===
原文地址:https://www.cnblogs.com/dodocie/p/7273892.html