当等价的if语句起作用时,switch语句不起作用
A switch statement doesn't work when the equivalent if statement does
switch(type)
{
case 'home':
console.log('home switch');
break;
}
上面的代码不会向控制台输出,下面的代码也不会:
switch(type)
{
case "home":
console.log('home switch');
break;
}
但是,下面的语句可以:
if (type == 'home')
{
console.log('home if');
}
我不知道为什么。这不是一个节目的结尾,我可以使用if
语句代替,但我真的很好奇为什么会这样。
注意:这些语句是一个直接的替换,这里没有其他考虑。作用域没有变化,没有我没有提到的可能干扰type
值的代码。
这不是等价的if语句。switch
语句指定使用严格相等的===
运算符
相关文章:
- Node.js-承诺和锥形语句(if、switch等)-如何构建
- switch语句中的Javascript作用域
- 我可以用javascript中的switch或case语句重构if-else吗
- switch语句中出错,Javascript
- 使用 switch 语句更改页面正文
- Javascript-尝试使用switch语句
- 如何将这个简单的switch语句重写得更简洁
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- Switch语句比较用户输入的Javascript
- 使用 Javascript switch 语句,如何计算数组中元素的数量(仅数字)
- 为什么这个switch语句没有像预测的那样运行
- switch语句中的数字比较失败
- javascript switch语句/case表达式
- 为什么这个 JavaScript switch 语句(在 for 循环内)保留了上一次迭代的值
- jQuery窗口'hashchange'switch语句效率
- 如何在switch语句中使用NaN大小写
- 范围的Switch语句不起作用
- 带有输入文本的 JavaScript switch 语句
- 使用Javascript switch语句在DIV中显示HTML表
- Switch语句jQuery不适用于单选按钮值