Javascript - 使用' if-else'或者'如果'仅用于单值赋值?

时间:2016-07-13 08:13:06

标签: javascript if-statement

我很好奇,因为下面的代码:

代码1:

var myValue = 10;
if(isBlocked)
  myValue = 20;

代码2:

var myValue;
if(isBlocked)
  myValue = 20;
else
  myValue = 10;

两者都应该做同样的事情。但我更喜欢Code 1,因为它显然需要较少的线路。将代码1用于单值赋值是否更好?

修改

谢谢你们提醒我关于“三元运算符”的问题。在结束帖子之前,我想问一下:是否评估作业'类似于'评估其他声明'? (性能)

4 个答案:

答案 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。