这是我无法理解的事情。
我的理解是 JavaScript 有真值和假值:
虚假值:
0
false
undefined
null
NaN
"" (空字符串)
真实的价值观:
任何不是虚假值的东西
如果 window.jQuery 已经正确加载,那么它不应该评估为 false(或者更确切地说,undefined
)。以下条件将返回true
:
window.jQuery != false
但是,以下条件将返回false
:
window.jQuery == true
(我正在使用==
所有这些,而不是===
,否则 window.jQuery 将始终评估为,false
除非它实际上是一个包含 value 的布尔值false
)。
这里发生了什么?当然,如果一个条件不计算为false
,那么它必须计算为true
?