何时是";var";js中需要

When is "var" needed in js?

本文关键字:quot var 何时 js      更新时间:2023-09-26

可能重复:
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
}