相关疑难解决方法(0)

在JavaScript switch语句中假设严格比较是否安全?

我有一个变量,可以是布尔值false,也可以是整数(包括0).我想把它放在一个switch语句中:

switch(my_var){
    case 0:
         // Do something
         break;
    case 1:
         // Do something else
         break;
    case false:
         // Some other code
}
Run Code Online (Sandbox Code Playgroud)

在谷歌浏览器的测试中,它似乎工作得很好,但我使用它有点紧张,因为我害怕在某些浏览器中,如果my_varfalse,它可能会执行第一种情况0 == false.

我只是想知道JavaScript中是否有任何官方说切换语句将使用严格的比较0 !== false,但我自己找不到任何东西,而且我不确定这是否适用于不同的JavaScript引擎.有人知道switch语句完成的比较是否保证是严格的吗?

javascript comparison types type-conversion switch-statement

99
推荐指数
3
解决办法
9771
查看次数

为什么JavaScript的parseInt的基数默认为8?

在JavaScript的parseInt函数中将基数默认为8(如果字符串以0开头)让我烦恼,只因为我继续忘记将可选的第二个参数传递为10.我正在寻找答案告诉我为什么它有意义默认为8.

javascript

21
推荐指数
3
解决办法
8765
查看次数