何时在Javascript中使用var
这个问题已经在这里有了答案:
- var关键字的目的是什么?何时应使用(或省略)? 19个答案
也许很简单的问题。
我应该在JavaScript中的哪里使用var
关键字。 在我看来,使用它是否有相同的效果(但是我仍然在学习语言)
例如,这两个对我来说似乎是相同的:
(function(){
var a = "mundo"
alert("Hola, " + a )
})()
和
(function(){
a = "mundo"
alert("Hola, " + a )
})()
但是,当然必须有一个更复杂的例子来显示差异。
OscarRyz asked 2020-01-08T00:35:51Z
4个解决方案
83 votes
当使用var
时,您正在实例化当前作用域中的变量。 这也将防止在当前作用域内访问较高作用域中相同名称的变量。
在第一个示例中,在函数范围内实例化并设置了“ a”。 在第二个示例中,由于缺少var
,因此在功能范围之外设置了“ 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
15 votes
使用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'
4 votes
我认为您需要刷新Javascript对象范围。
使用“ var”关键字会将您的变量放在最高(全局)范围内。 这意味着,如果一个函数使用相同的变量,则声明的“ var”变量将覆盖函数中的(non-var)变量。JavaScript作用域
1 votes
如果在函数内部未使用var,则JS会在上面进行查找,因此,如果在不同函数中使用save var,则它们可能会发生冲突。 如果要定义新变量,总是值得使用var。