Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript变量与否,什么';有什么区别?_Javascript - Fatal编程技术网

javascript变量与否,什么';有什么区别?

javascript变量与否,什么';有什么区别?,javascript,Javascript,可能重复: 大家好 声明var-myVar使用var关键字,或声明myVar而不使用它 对于一些人来说,这可能是一个愚蠢的问题,但我正在学习javascript 有时,在阅读其他人的代码时,我看到一些变量在前面声明时没有“var”。需要强调的是,这些变量甚至没有声明为函数的参数 那么,在声明变量时使用或不使用'var'关键字有什么区别呢 非常感谢如果您不使用它,它可能是一个全局变量,或者在IE的情况下,它会爆炸 有些情况下您不需要它,例如,如果它是您所在函数的一个参数,那么它已经声明了始终在任

可能重复:

大家好

声明
var-myVar使用
var
关键字,或声明
myVar
而不使用它

对于一些人来说,这可能是一个愚蠢的问题,但我正在学习javascript

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

那么,在声明变量时使用或不使用'var'关键字有什么区别呢

非常感谢

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


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

这都是关于范围的。从技术上讲,你可以省略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
}

你不能“从技术上忽略它”,有些浏览器允许,这是有区别的。“当你这样做的时候,IE爆炸了,这是应该的。”Nick fair comment,我的措辞是错误的哦,顺便说一句,我不是建议你忽略var,我只是说你可以侥幸逃脱。使用var使代码更易于阅读和调试,养成使用它的习惯。