谁能解释这个说法的意思?
e = e || x
特别,
e = e || window.event
这出现在我正在查看的代码块中。
我并没有完全迷失,但是我的理解是,它将e和window.event(或x / whatever)都分配给e。是自然的吧?
但是,将e分配给e的值是什么? e = window.event是否足够?也许是取决于它如何使用?
最佳答案
如果e = e || x
评估为false,则x
将e
分配给e
。
这与以下内容相同:
if (!e) {
e = x;
}
// or
e = e ? e : x
下表显示了哪些值评估为false:https://stackoverflow.com/a/7615236/603003
最重要的值是:null和undefined。
在您的上下文中是什么意思?
您可能有一些这样的代码:
function handler(e) {
e = e || window.event;
}
其中
handler
是附加到DOM元素的事件侦听器。由于IE的较旧版本没有将事件对象作为参数传递,因此必须检查该参数是否未定义。如果是后者,则将全局window.event
对象(由IE提供)分配给e
。