也许很简单的问题。
我应该在哪里使用var
JavaScript 中的关键字。在我看来使用它或没有相同的效果(但当然我还在学习语言)
例如,这两个在我看来都是一样的:
(function(){
var a = "mundo"
alert("Hola, " + a )
})()
和
(function(){
a = "mundo"
alert("Hola, " + a )
})()
但是,当然必须有一个更复杂的例子来显示差异。
也许很简单的问题。
我应该在哪里使用var
JavaScript 中的关键字。在我看来使用它或没有相同的效果(但当然我还在学习语言)
例如,这两个在我看来都是一样的:
(function(){
var a = "mundo"
alert("Hola, " + a )
})()
和
(function(){
a = "mundo"
alert("Hola, " + a )
})()
但是,当然必须有一个更复杂的例子来显示差异。
当您使用 时var
,您将在当前范围内实例化一个变量。这也将阻止在当前范围内访问更高范围内命名相同的变量。
在您的第一个示例中,“a”被实例化并在函数范围内设置。在您的第二个示例中,由于缺少var
与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 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”关键字会将您的变量放在最顶层(全局)范围内。这意味着如果一个函数使用相同的变量,您声明的“var”变量将覆盖函数中的(非 var)变量... JavaScript 作用域
如果 var 没有在函数内部使用,JS 会在上面查找它,所以如果你在不同的函数中使用 save var,它们可能会发生冲突。如果要定义新变量,总是值得使用 var。