谁能解释一下这个语句是什么意思?
e = e || x
具体而言,
e = e || window.event
这出现在我正在查看的一段代码中。
我并没有完全不知所措,但是我的理解是它将 e
和 window.event
(或 x/whatever)都分配给了 e。这是很自然的,对吧?
但是将 e
赋值给 e
有什么值(value)呢?难道 e = window.event
就足够了吗?也许取决于它的使用方式?
最佳答案
e = e || x
将 x
分配给 e
如果 e
评估为 false。
这等同于:
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
。
关于javascript - 有人可以解释一下 e = e || X?为什么要把e赋值给e?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658188/