在编写Javascript函数时,我总是首先使用var在
中对变量进行赋值var x = 1;
后来x可能是别的东西。我应该写
if (something ) {
x = 2;}
或
if (something) {
var x = 2;}
如果你能说出为什么会有所帮助。
答案 0 :(得分:5)
如果您要更改已声明的变量的值,则不应使用var
关键字。
所以:
var x = 1;
if(something) x = 2;
如果测试很简单,你也可以这样写:
var x = something ? 2 : 1;
这也与范围有关。在函数中创建了一个新的范围。
例如:
var x = 1;
function myFunction(){
var x = 2;
}
myFunction();
console.log(x); // 1
然而,如果您在函数中省略了var
关键字,那么您将改变外部范围中x
变量的值,console.log(x)
将显示2
}。
答案 1 :(得分:1)
在简单的代码中,它实际上对JS解释器没有任何影响。
但是,为了所有必须阅读代码的人,最好在需要它们的范围的顶部声明一次变量。这有助于使所有使用变量范围的代码的人都清楚。它还可以帮助您避免遇到由JavaScript提升机制引起的混乱问题(实际上,这种机制在您的代码中无关紧要)。