JS中全局变量的隐藏危害

全局变量的缺点

  1. 长期会占用内存
  2. 容易引发命名冲突。在多人协作的开发中,全局变量过多就会导致命名冲突的发生的可能性增大,会污染命名空间
  3. 会影响到局部变量的获取。如下:
var a=10;
function test(){
     console.log(a);
     var a=20;
}
test();

上述代码输出为undefined,因为函数内部的console.log(a)是局部变量a,这里存在变量声明的提升,但是变量的赋值没有提前。即上述函数中的代码等价于:

var a;
console.log(a);  //输出为undefined
a=10;

猜你喜欢

转载自blog.csdn.net/Qian_mos/article/details/84582246