什么时候在Javascript中使用var
也许很容易的问题。
我应该在JavaScript中使用var
关键字。 在我看来,使用它或不是有相同的效果(但我当然还在学习语言)
比如这些对我来说都是一样的:
(function(){ var a = "mundo" alert("Hola, " + a ) })()
和
(function(){ a = "mundo" alert("Hola, " + a ) })()
但是,当然必须有一个更复杂的例子,其中的差异显现出来。
当你使用var
,你正在实例化当前范围中的一个variables。 这也将防止在当前范围内访问在较高范围内命名相同的variables。
在你的第一个例子中,'a'被实例化并在函数范围内设置。 在第二个例子中,由于缺lessvar
所以在函数范围之外设置了“a”
用var
:
var a = "A" (function(){ var a = "B" alert(a) //B })() alert(a); //A
没有var
:
var a = "A"; (function(){ a = "B" alert(a) //B })() alert(a) //B
使用var:
var a = 'world'; myfunction = function(){ var a = "mundo" alert("Hola, " + a ) } myfunction(); //alerts 'hola, mundo' alert(a); //alerts 'world';
不使用var:
var a = 'world'; myfunction = function(){ a = "mundo" alert("Hola, " + a ) } myfunction(); //alerts 'hola, mundo' alert(a); //alerts 'mundo'
我认为你需要刷新Javascript对象作用域。
使用“var”关键字将您的variables放置在最顶端(全局)范围。 这意味着,如果一个函数使用相同的variables,你声明的“var”variables将覆盖函数中的(非var)variables… JavaScript Scopes
如果函数内部没有使用var,JS会在上面查找它,所以如果你在不同的函数中使用save vars,它们可能会发生冲突。 如果你正在定义新的variables,总是值得使用一个var。