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