我很好奇,因为下面的代码:
代码1:
var myValue = 10;
if(isBlocked)
myValue = 20;
代码2:
var myValue;
if(isBlocked)
myValue = 20;
else
myValue = 10;
两者都应该做同样的事情。但我更喜欢Code 1,因为它显然需要较少的线路。将代码1用于单值赋值是否更好?
修改
谢谢你们提醒我关于“三元运算符”的问题。在结束帖子之前,我想问一下:是否评估作业'类似于'评估其他声明'? (性能)
答案 0 :(得分:3)
是的,代码1更好,很少有线做同样的事情。
您可以通过三元运算符
缩短它email
答案 1 :(得分:2)
格式:
var myValue = 10;
if (isBlocked) {
myValue = 20;
}
是一种安全,常用的方法。
<强>原因:强>
通过使用默认值myValue
初始化10
,在if statement
未运行的所有情况下(无论出于何种原因),myValue
肯定会继续拥有值10
。
答案 2 :(得分:1)
我更喜欢代码1,因为undefined
myValue
以外的值总是安全的
如果您查看代码2,如果if
条件未执行,那么您的myValue
变量将为undefined
。
所以最好使用代码1并明智地选择条件。
*** UPDATE
如果if
条件没有执行,myValue
的值将不会undefined
,但您会发现您不需要其他条件,因为您希望将某个值分配给myValue
condition为false,因此只要条件为真时才重写。
答案 3 :(得分:0)
两者都很好!这一切都取决于您是否需要在将来添加额外的比较。如果是,请使用代码2,如果不使用代码1。