javascript - 有人可以解释一下 e = e || X?为什么要把e赋值给e?

标签 javascript events dom-events

谁能解释一下这个语句是什么意思?

e = e || x

具体而言,

e = e || window.event

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

我并没有完全不知所措,但是我的理解是它将 ewindow.event(或 x/whatever)都分配给了 e。这是很自然的,对吧?

但是将 e 赋值给 e 有什么值(value)呢?难道 e = window.event 就足够了吗?也许取决于它的使用方式?

最佳答案

e = e || xx 分配给 e 如果 e 评估为 false。

这等同于:

if (!e) {
  e = x;
}
// or
e = e ? e : x

这是一个表格,显示哪些值评估为false:https://stackoverflow.com/a/7615236/603003

最重要的值是:nullundefined


在您的上下文中这意味着什么? 您可能有这样的代码:

function handler(e) {
  e = e || window.event;
}

其中 handler 是附加到 DOM 元素的事件监听器。由于旧版本的 IE 没有将事件对象作为参数传递,因此必须检查参数是否未定义。如果是后者,则将全局 window.event 对象(IE 提供)分配给 e

关于javascript - 有人可以解释一下 e = e || X?为什么要把e赋值给e?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658188/

相关文章:

javascript - jQuery 在 div 元素内部和外部分离 dblclick 事件

c# - 多个匿名事件处理程序 - 但只调用最后一个

javascript - Ajax 发布后的更新事件

javascript - 如何访问拖动的文本(或 : How Does Dragging Text into an Input "Work"? )

javascript - 为什么 Internet Explorer 不喜欢这个 jQuery?

javascript - 用于查找唯一文档的 Mongoose 查询

c# - 如何在 VB.NET 中使用以下用 C# 编写的事件/委托(delegate)?

javascript - 元素上的 JS 大量监听器清理

javascript - 用于动态搜索结果的 AngularJS/HTML/Bootstrap 元素

javascript - 用javascript模拟winkey + D