编程技巧 - 尽量不产生全局变量

  • 作者:KK

  • 发表日期:2016.11.08


尽量要让自己的代码不要产生不必要的全局变量,特别是插件

如果只是在html页面里写页面操作的JS有全局变量那问题还不是很大

但如果所引用的各个JS文件都各自创建几个或多个全局变量,那埋下的坑可就太大了

原因就是a.js产生的全局变量可能叫A,而b.js也可能会产生一个同样叫A的全局变量,这样就会覆盖人家的全局变量了,导致a.js在某些情况下无法正常运行

其实认真看看代码,完全可以将它改成不用全局变量来实现的

而我发现有一半情况是因为程序员不认真,忘了加var关键字导致不小心创建了全局变量

而且这样会增加程序的耦合程度,我们应该尽可能使设计的代码模块化,尽可能减少对其它模块的互相依赖或影响

通常对于一个插件来说,会产生的全局变量就只有这个插件对象本身,然后一切就从这个插件开始访问操作,比如jQuery,加载jqeury.js后就会多出一个jQuery和$对象,做任何操作都要从这两个符号开始访问

我们写的JS代码也应该学习这种思想,不信你看多一些其它开源插件也会发现人家就是只暴露了插件对象到全局作用域而已,并没有暴露里面的任何变量到外面