JS避免全局变量污染是什么意思

JavaScript07

JS避免全局变量污染是什么意思,第1张

JS可以随意定义一些全局变量,不会有任何语法错误,在多人协作开发时假如两个人都各自定义了一个相同名字的全局变量并在自己的代码里面使用,则这个全局变量就有可能造成冲突,这就是全局变量污染。所以一般不建议滥用全局变量,定义全局变量的时候最好有自己这个模块的命名空间。

你在a.js下定义了一个变量

1

var a = 0

比如你在b.js里又定义了一次

1

var a = 1

如果这个时候你同时引用了a.js和b.js这两个脚本。那你的变量a就会冲突。你究竟是想要a.js中的a呢,还是b.js中的a呢?

通常我们的做法是使用IIFE函数将脚本包裹起来,或者使用多级命名空间,从而避免上述情况的发生。