可能重复:
Difference between using var and not using var in JavaScript
大家好
使用var myVar;
关键字声明var
或在没有关键字的情况下声明myVar
。
这对某些人来说可能是一个愚蠢的问题,但我正在使用javascript进行学习。
有时,在阅读其他人的代码时,我看到一些变量是在前面没有'var'的情况下声明的。需要强调的是,这些变量甚至都没有被声明为函数的参数。
那么使用或不使用'var'关键字声明变量之间的区别是什么?
非常感谢
答案 0 :(得分:24)
如果你不使用它,可能是一个全局变量,或者在IE的情况下,它会爆炸。
有些情况下你不需要它,例如,如果它是你所在的函数的参数,它已经被声明了。 始终在任何其他情况下使用var
(其他情况是:除非您正在操纵已存在的变量)。无论需要定义什么范围,明确地在那里定义它。
答案 1 :(得分:14)
这完全是关于范围界定的。从技术上讲,你可以省略var,但考虑一下:
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
}