您的位置:首页 > Web前端 > JavaScript

JS变量前不加var的影响

2016-10-15 15:46 169 查看
再次强调下变量的作用域:(给小白看的)

 
js中变量作用域可分为:"全局变量"和"局部变量"

"全局变量":声明在函数之外的变量

"局部变量":声明在函数体中的变量,并且只能在当前函数体内访问

但有一种情况,我们在定义变量时可能会忘记加变量名前面的 var 关键字。

这样会发生什么呢?

我们做下实验,代码如下:

function test() {  

    a = 30;

    var b = 10;

}

test();

window.alert("a="+a); 

window.alert("b="+b);   

 

运行结果是游览器把函数内部的变量a弹出了a = 30,而同样在函数内部的变量b却没有弹出。

结果表明:在JS中,如果在函数内部定义变量时不加var,则判定为全局变量,加上var则为正常的局部变量。

即,在声明变量时凡是没有var关键字,而直接赋值的变量均为全局变量。

注意:上述变量声明时,不加var的用法不推荐使用,我们要尽量避免。(容易造成数据污染)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息