JavaScript-(window.addEventListener)

JavaScript-(window.addEventListener),javascript,Javascript,全部 在if语句片段“if(window.addEventListener)”中,什么是 window.addEventListener解析为。我相信这是一个布尔值,但它什么时候是“真”的,什么时候是“假”。我已经研究了一个星期,但没有结果 我是通过自学来学习JavaScript的,所以请耐心听我说。任何如果像这样的表达式(即没有显式比较的表达式)隐式地将表达式值转换为布尔值。JavaScript中的规则是,除null、未定义、0、“、NaN或false之外的任何内容都被视为true 因此,像这

全部

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


我是通过自学来学习JavaScript的,所以请耐心听我说。

任何
如果像这样的表达式(即没有显式比较的表达式)隐式地将表达式值转换为布尔值。JavaScript中的规则是,除
null
未定义
0
NaN
false
之外的任何内容都被视为
true


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

任何
如果像这样的表达式(即没有显式比较的表达式)会隐式地将表达式值转换为布尔值。JavaScript中的规则是,除
null
未定义
0
NaN
false
之外的任何内容都被视为
true


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

window.addEventListener
在所有现代浏览器中都指函数。在JavaScript中,任何值都可以强制为布尔值。结果要么是
false
(对于
0
NaN
null
undefined
,当然还有
false
-假值)或者
true
(对于所有其他值-真值)。因此,如果
addEventListener
存在于
窗口中,并且具有一个truthy值(函数引用为truthy),则代码分支到
if
的主体中。如果没有(Internet Explorer的过时版本没有它,他们有微软的前身,名为
attachEvent
),查找该属性将导致
未定义的
,这是错误的。

窗口。在所有现代浏览器中,addEventListener
都指函数。在JavaScript中,任何值都可以强制为布尔值。结果要么是
false
(对于
0
NaN
null
undefined
,当然还有
false
-假值)或者
true
(对于所有其他值-真值)。因此,如果
addEventListener
存在于
窗口中,并且具有一个truthy值(函数引用为truthy),则代码分支到
if
的主体中。如果没有(Internet Explorer的过时版本没有,他们有Microsoft的前身,名为
attachEvent
),查找该属性将导致
未定义的
,这是错误的。

仅供参考,javascript使用“falsy”值,该值在布尔上下文中计算时转换为false


Reference

仅供参考,javascript使用“Falsy”值,该值在布尔上下文中计算时转换为false

参考文献