通常我会声明一个值如下的变量:
var foo = "I am foo";
但是最近我看到了先声明的变量名,然后再声明一个值,如下所示:
var foo;
foo = "I am foo";
用这种方法有什么好处?
答案 0 :(得分:3)
没有特别的“好处”。但是在某些情况下需要这样做,最值得注意的是条件声明:
var foo;
if (bar) {
foo = 'baz';
} else {
foo = 42;
}
在var
中两次使用if..else
可能会出错或至少会产生误导。如果您使用let
而不是var
,甚至会错误地定义变量的范围。
答案 1 :(得分:2)
仅当您不知道要为其分配什么值时才发挥作用,而不是重新分配值。例如
var foo;
if(someCond){
foo = "this";
} else if(someOtherCond){
foo = "that";
}