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

Sha*_*aoz 20 javascript

可能重复:
使用var和不使用JavaScript中的var之间的区别

大家好

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

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

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

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

非常感谢

Nic*_*ver 24

如果你不使用它,它可能是一个全局变量,或者在IE的情况下,它会爆炸.

有些情况下你不需要它,例如,如果它是你所在的函数的参数,它已经被声明了. 始终使用var在任何其他情况下(其他情况是:除非你操纵已经存在的变量).无论需要定义什么范围,都要在那里明确定义它.


Oll*_*rds 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
}
Run Code Online (Sandbox Code Playgroud)

  • 你不能"在技术上省略它",有些浏览器*允许它*,这是有区别的.当你这样做时,IE会爆炸. (4认同)