【发布时间】:2020-05-14 01:39:13
【问题描述】:
这样的逻辑运算符有什么意义:r == 0 && (r = i);?
function do()
{
var r = 0;
var i = 10;
r == 0 && (r = i);
}
这是否与:
if (r==0)
{
r=i;
}
【问题讨论】:
-
表达式比语句快
-
可以转换成三进制
r == 0 ? r = i : r = 10; -
@Rajesh 1) 真的吗? 2) 速度快到足以证明这段代码晦涩难懂?
-
@Milan 如果你想要一个三元组,至少让它
r = r == 0 ? i : 10... -
“有这个逻辑运算符有什么意义...” 使单行代码为可读性付出了代价。一般来说,使用运算符来控制执行流程是不好的代码风格。它使代码更短但可读性更低。 BTW js minifiers 通常会为您执行此操作,而无需提前修改您的代码 :)
标签: javascript