javascript var还是不用,有什么区别?

javascript var or not var, what's the difference?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Difference between using var and not using var in JavaScript

大家好

使用var关键字声明var myVar;或不使用该关键字声明myVar

对于一些人来说,这可能是一个愚蠢的问题,但我正在用JavaScript学习。

有时,在阅读其他人的代码时,我看到一些变量声明时前面没有"var"。只是强调一下,这些变量甚至没有声明为函数的参数。

那么,声明带有或不带有"var"关键字的变量有什么区别呢?

多谢


如果你不使用它,它可能是一个全局变量,或者在IE的情况下,它会爆炸。

有些情况下您不需要它,例如,如果它是您所在函数的参数,那么它已经声明了。在任何其他情况下都要使用var(其他情况是:除非您正在操作已经存在的变量)。无论需要在什么范围内定义它,都要在那里显式地定义它。


这都是关于范围界定。从技术上讲,您可以省略var,但要考虑:

1
2
3
4
5
6
7
8
9
myVar ="stuff";

function foo() {
    myVar ="junk"; //the original myVar outside the function has been changed
}

function bar() {
    var myVar ="things" //A new scoped myvar has been created internal to the function
}