javascript - "if (foo) bar();"和 "foo && bar();"之间的区别

标签 javascript

<分区>

以下两个片段之间是否有任何区别,或者有任何理由使用一个而不是另一个?

if (foo) {
    bar();
}

foo && bar();

最佳答案

第二种形式称为 short-circuit evaluation结果与第一种形式完全相同。然而,第一种形式更具可读性,应优先考虑可维护性。

这种类型的短路评估经常出现在 if 语句中,其中右手是有条件地评估的。请参见下面的示例; bar 仅在 foo 计算结果为真时计算。

if (foo && bar()) {
    // ...
}

关于javascript - "if (foo) bar();"和 "foo && bar();"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17907997/

相关文章:

Javascript代码重定向到同一页面上的一个部门

javascript - 在所有行中乘以 Cell[2] cell[3]。单元格 [2]* 单元格 [3]。两个单元格都是 Dropbox

javascript - 仅用于相对链接的正则表达式

javascript - 删除外部框阴影并仅保留插入阴影

javascript - 如何使用 Bootstrap 将数据传递到模态

javascript - 在 .append 之后运行函数

javascript - jquery不从DIV data-id获取PHP变量值,只输出变量名称

javascript - jQuery 复选框选中状态更改事件

javascript - ionic 点击事件触发两次

javascript - 如何从 Chrome 重建 POST 数据?