繁体   English   中英

JavaScript-(window.addEventListener)

[英]JavaScript - (window.addEventListener)

所有

在if语句片段“ if(wind.addEventListener)”中,window.addEventListener解析为什么。 我相信它是一个布尔值,但何时为“ true”,何时为“ false”。 我已经研究了一个星期,但无济于事。

我正在通过自学来学习JavaScript,所以请多多包涵。

任何这样的if表达式(即没有显式比较的表达式)都会将表达式值隐式转换为布尔值。 JavaScript中的规则是将nullundefined0""NaNfalse都视为true

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

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

仅供参考,javascript使用“假”值,该值是在布尔上下文中求值时会转换为false的值。

参考虚假

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM