JavaScript - (window.addEventListener)

时间:2018-03-26 18:07:12

标签: javascript

所有

在if语句片段" if(window.addEventListener)"是什么 window.addEventListener解析为。我相信它是一个布尔值,但它什么时候是真的"真的"什么时候是"假"。我已经研究了一个星期,但没有用。

我正在通过自学来学习JavaScript,所以请耐心等待。

3 个答案:

答案 0 :(得分:1)

任何类似的if表达式 - 也就是说,没有显式比较的表达式 - 隐式地将表达式值转换为布尔值。 JavaScript中的规则是nullundefined0""NaNfalse以外的任何内容都被视为{{1 }}

因此,像这样测试true是一种检查window.addEventListener对象上是否存在该属性(不是undefined)的方法。

答案 1 :(得分:1)

所有现代浏览器中的

window.addEventListener都指的是一个函数。在JavaScript中,任何值都可以强制为布尔值。结果是false0""NaNnullundefined,当然还有false - “虚假”值)或true(对于所有其他值 - “真实”值)。因此,如果addEventListener上存在window并且具有真值(函数引用是真实的),则代码将分支到if的正文中。如果没有(过时版本的Internet Explorer没有它,他们有Microsoft的前身称为attachEvent),查找属性将导致undefined,这是假的。

答案 2 :(得分:0)

仅供参考,javascript使用'Falsy'值,这是在布尔上下文中计算时转换为false的值。

参考Falsy