Javascript 声明一个变量,然后用if语句更改它?

Javascript 声明一个变量,然后用if语句更改它?,javascript,variables,if-statement,Javascript,Variables,If Statement,在函数中声明变量时是否需要添加if/else语句?我可以先设置变量,然后在满足条件时更改它吗 function doSomething() { var a = 1; if(something) { a = 2; } } vs 不需要,只要在初始化中计算第二个值没有副作用(在您的情况下,文本1,它没有副作用) 然而,使用if-else可能会更好地显示您的意图,并使代码更干净;尽管这更多的是风格问题,而不是功能问题。就个人而言,我甚至更喜欢条件表达式: var a = cond

在函数中声明变量时是否需要添加if/else语句?我可以先设置变量,然后在满足条件时更改它吗

function doSomething() {
  var a = 1;
  if(something) {
    a = 2;
  }
}
vs


不需要,只要在初始化中计算第二个值没有副作用(在您的情况下,文本
1
,它没有副作用)

然而,使用if-else可能会更好地显示您的意图,并使代码更干净;尽管这更多的是风格问题,而不是功能问题。就个人而言,我甚至更喜欢条件表达式:

var a = condition ? 2 : 1;

不需要,只要在初始化中计算第二个值没有副作用(在您的情况下,文本
1
,它没有副作用)

然而,使用if-else可能会更好地显示您的意图,并使代码更干净;尽管这更多的是风格问题,而不是功能问题。就个人而言,我甚至更喜欢条件表达式:

var a = condition ? 2 : 1;
是的,你可以做到(技术上)。关于理解或代码复杂性,请尽可能简单

我认为如果你使用条件运算符,你的意图会更清楚:

var a = something ? 2 : 1;
是的,你可以做到(技术上)。关于理解或代码复杂性,请尽可能简单

我认为如果你使用条件运算符,你的意图会更清楚:

var a = something ? 2 : 1;

是的,你可以这样做——像这样更短

var a = 1;
if (something) a = 2;

是的,你可以这样做——像这样更短

var a = 1;
if (something) a = 2;

翻转问题:为什么它不起作用?机器所做的一切就是你告诉它的——当你尝试它时发生了什么?(不相关,但有一些人建议使用条件运算符(“三元”),但是…嗯。特别是在开始时,我用一个简单的
if
语句就足够了。)它们似乎都工作得很好——我只是想知道两次设置变量是否会影响性能或将来会出现问题——一次是在初始化时,另一次是在条件为真时?机器所做的一切就是你告诉它的——当你尝试它时发生了什么?(不相关,但有一些人建议使用条件运算符(“三元”),但是…嗯。特别是在开始时,我用一个简单的
if
语句就足够了。)它们似乎都工作得很好-我只是想知道两次设置变量是否会影响性能或将来会出现问题-一次是在初始化时,一次是在条件为真时。当然,除了你永远不应该忽略块括号之外!(如果你想把它写在一行上,写
If(something){a=2;}
)没有理由总是把一个块放在大括号里。除非在非常特殊的情况下,否则我从来不会把语句放在同一行。@blm如果你不把它放在同一行,你可能应该用大括号;糟糕的缩进卫生和“但我的意思是要在条件代码中”太容易了。特别是对于初学者。@blm从技术上讲,也没有理由使用任何换行符,但我们这样做是为了维护我们的程序。(不过,我没有否决;显示选项没有错。)当然,除了你永远不应该忽略大括号!(如果你想把它写在一行上,写
If(something){a=2;}
)没有理由总是把一个块放在大括号里。除非在非常特殊的情况下,否则我从来不会把语句放在同一行。@blm如果你不把它放在同一行,你可能应该用大括号;糟糕的缩进卫生和“但我的意思是要在条件代码中”太容易了。特别是对于初学者。@blm从技术上讲也没有理由使用任何换行符,但我们这样做是为了维护我们的程序。(不过,我没有投反对票;显示选项没有错。)