在函数中声明变量时是否需要添加if / else语句?我可以先设置变量,然后在满足条件时更改它吗?
function doSomething() {
var a = 1;
if(something) {
a = 2;
}
}
VS
function doSomething() {
var a;
if(something) {
a = 2;
} else {
a = 1;
}
}
答案 0 :(得分:3)
是的,你可以做到(技术上)。关于理解或代码复杂性,请尽可能简单。
如果您使用条件运算符,我认为您的意图会更清晰:
var a = something ? 2 : 1;
答案 1 :(得分:2)
不,没有必要,只要在初始化中评估第二个值没有副作用(在您的情况下,文字1
,它没有)。
但是,使用if-else可能会更好地显示您的意图并使代码更清晰;虽然这更多的是风格而不是功能。就个人而言,我甚至更喜欢条件表达式:
var a = condition ? 2 : 1;
答案 2 :(得分:0)
是的,你可以这样做 - 甚至更短
var a = 1;
if (something) a = 2;