在变量声明中使用var有什么好处?

可能重复:
为什么不能自动关闭脚本标签?
JavaScript中使用var和不使用var之间的区别

对于代码,我发现它不需要使用var声明变量。 以下都是工作

// with var
var object = new Object();

// without var
object = new Object();

这两者有什么区别?


关键的区别在于,如果你不使用var关键字,那么即使你在一些嵌套函数中定义它,你的变量也是全局的。

var为该变量定义一个范围。 如果您希望跨多个范围使用您的对象,使用全局或不​​使用全局变量,但强烈建议使用全局变量来减少全局范围污染的命名空间。


如果你在广泛的javascript中使用var以外的任何函数并不重要,因为

var a

这与之相同

window.a

但在一个函数里面

var a是函数的私有变量,而指向window.a (全局)


如果您不使用var关键字,则声明一个全局变量。 如果你使用它,你正在声明当前范围内的变量。

例如:

function foo() {
    o = new Object();
}

foo();
alert(o); // you can access the o variable here

这很糟糕,因为你已经基本上污染了全球范围。

相反:

function foo() {
    // the o variable is accessible only inside the current scope which
    // is the foo function
    var o = new Object();
}

foo();
alert(o); // error => o is not accessible here

结论: 始终使用var关键字指定变量的范围。

链接地址: http://www.djcxy.com/p/17359.html

上一篇: What's advantage to use var in the variable declaration?

下一篇: Where to use "var' in javascript programs