我一直认为 if 语句会像 == true
一样比较其参数。然而,在 Firebug 中进行的下面实验证实了我最担心的事情——经过 15 年的 JavaScript 编程,我仍然不知道它到底是怎么回事:
>>> " " == true
false
>>> if(" ") console.log("wtf")
wtf
我的世界观在这里崩溃了。我可以运行一些实验来了解更多,但即使如此,我仍然会因为浏览器的怪癖而失眠。这是否在某个规范中?它在各种浏览器之间是否一致?我会掌握 JavaScript 吗?