Javascript:||的含义初始化 var 时的运算符

Javascript: meaning of || operator while initializing var

要获取有关按下哪个键的信息,我现在使用以下代码:

function AddEventListeners() {
    document.getElementById('txtHangman').addEventListener('keypress', TextHangman.bind(this), false);
}

然后是事件处理函数:

function TextHangman(_key) {
    var _keypressed = _key.which || _key.key;
}

代码有效并为我提供了我想要的信息,但我不明白 || 是什么运算符在初始化 var _keypressed 时执行。有解释就好了。

谢谢!

G

这意味着当 nullundefined_key.which 中的 0 等任何虚假值时,应将其初始化为 _key.key

您可以将其视为以下内容的快捷方式:

var _keypressed = _key.which;
if (!_keypressed) {
    _keypressed = _key.key;
}

它提供了对 var 的回退。如果第一个选项为 false、null 或 undefined,则 var 将设置为第二个值

它的意思和其他地方一样。在 var 语句附近使用时没有什么特别之处。

如果左侧的计算结果为真(即不是 0undefined 等),则它的计算结果为左侧。

否则,计算为右侧。


优先规则意味着它在分配之前得到解决。


基本上代码是一样的:

if (_key.which) {
    var _keypressed = _key.which;
} else {
    var _keypressed = _key.key;
}