好的,这是我的简短问题:
我知道 ===
和 !==
运算符会比较类型,然后比较值,而 ==
和 !=
将转换类型,然后只比较值。
if(myVar)
和 if(!myVar)
呢?
if(myVar == true)
和 if(myVar == false)
的行为有什么不同吗?
最佳答案
是的,有区别。例如:
if('true' == true) {
alert("This doesn't happen");
}
if('true') {
alert("But this does happen.");
}
原因是什么?它们都被转换为 number
以进行比较。 'true'
转换为 NaN
,true
转换为 1
。
避免这种愚蠢行为,永远不要写 == true
或 == false
。
关于JavaScript If/Else 条件和比较 - 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11125154/