js中的“var”需要什么时候?

可能重复:
JavaScript中使用var和不使用var之间的区别

有时候,我看到有人这样做

for(var i=0; i< array.length; i++){
 //bababa

}

但我也看到有人这样做......

for(i=0; i< array.length; i++){
 //bababa

}

两者有什么不同? 谢谢。


var关键字从不“需要”。 但是,如果你不使用它,那么你声明的变量将暴露在全局范围内(即作为window对象的一个​​属性)。 通常这不是你想要的。

通常你只想让你的变量在当前范围内可见,这就是var为你做的。 它仅在当前范围中声明变量(但请注意,在某些情况下,“当前范围”将与“全局范围”一致,在这种情况下,使用var和不使用var之间没有区别)。

在编写代码时,你应该更喜欢这种语法:

for(var i=0; i< array.length; i++){
    //bababa
}

或者如果你必须,那么这样的:

var i;
for(i=0; i< array.length; i++){
   //bababa
}

这样做:

for(i=0; i< array.length; i++){
   //bababa
}

...将在全局范围内创建一个名为i的变量。 如果其他人碰巧也在使用全局i变量,那么你刚刚覆盖了他们的变量。


从技术上讲,你永远不会使用它,JavaScript会快活地在它的路上 - 使用你的变量,即使你不提前声明它们。

但是,在实践中,当你声明一个变量时,你应该总是使用它。 它会使你的代码更具可读性,并帮助你避免混淆,特别是如果你使用的变量具有相同的名称和不同的范围......

var n = 23;
function functThat( )
{
   var n = 32; // "local" scope
}
链接地址: http://www.djcxy.com/p/17347.html

上一篇: When is the "var" need in js?

下一篇: When to use var in Javascript