我想在这个例子中知道为什么我的病情总是如此?谢谢
function bla() {
var qix = 'z'
if (qix === 'a' || 'b' || 'c') {
console.log('condition ok!! whats wrong???')
}
}
Run Code Online (Sandbox Code Playgroud)
31p*_*piy 11
代码的问题在于if表达式始终求值为true.
qix === 'a' || 'b' || 'c'
Run Code Online (Sandbox Code Playgroud)
实际上会变成这样:
false || 'b' || 'c'
Run Code Online (Sandbox Code Playgroud)
按qix设定为z.由于键入松散,JavaScript会返回true第二个表达式,因为'b'是一个真值.要更正此问题,您需要更改表达式,如下所示:
qix === 'a' || qix === 'b' || qix === 'c'
Run Code Online (Sandbox Code Playgroud)
所以它正确地表达了你所期待的.
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |