谁能解释这个说法的意思?

e = e || x

特别,
e = e || window.event

这出现在我正在查看的代码块中。

我并没有完全迷失,但是我的理解是,它将e和window.event(或x / whatever)都分配给e。是自然的吧?

但是,将e分配给e的值是什么? e = window.event是否足够?也许是取决于它如何使用?

最佳答案

如果e = e || x评估为false,则xe分配给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

07-24 09:43
查看更多