javascript现在和以后声明var

时间:2013-11-19 03:56:45

标签: javascript

在编写Javascript函数时,我总是首先使用var在

中对变量进行赋值
var x = 1;

后来x可能是别的东西。我应该写

if (something ) {
x = 2;}

if (something) {  
var x = 2;}

如果你能说出为什么会有所帮助。

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提升机制引起的混乱问题(实际上,这种机制在您的代码中无关紧要)。