javascript var或not var,有什么区别?

时间:2010-12-08 09:26:33

标签: javascript

  

可能重复:
  Difference between using var and not using var in JavaScript

大家好

使用var myVar;关键字声明var或在没有关键字的情况下声明myVar

这对某些人来说可能是一个愚蠢的问题,但我正在使用javascript进行学习。

有时,在阅读其他人的代码时,我看到一些变量是在前面没有'var'的情况下声明的。需要强调的是,这些变量甚至都没有被声明为函数的参数。

那么使用或不使用'var'关键字声明变量之间的区别是什么?

非常感谢

2 个答案:

答案 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
}