定义全局变量的方法通常有
a.
var name="aaa"; function test(){ alert(name); }
b.
name="aaa"; function test(){ alert(name); }
c.使用window定义全局变量
window.name="aaa"; function test(){ alert(window.name); }
优点:可以减少变量的个数,使用方便简单。
缺点:
1、生存周期长,越多消耗内存越大。
2、不利于排查错误和调试
3、多处使用同一变量,代码可读性低。变量个数越多,产生的污染也会增大,同时其存在重复性也会增大。
解决污染的方法:
a.定义全局变量命名空间
只创建一个全局变量,并定义该变量为当前应用容器,把其他全局变量追加在该命名空间下
var mm={}; mm.name={ big_name:"zhangsan", small_name:"lisi" }; mm.work={ school_work:"study", family_work:"we are" };
b . 利用匿名函数将脚本包裹起来
(function(){ var exp={}; var name="aa"; exp.method=function(){ return name; }; window.ex=exp; })(); alert(ex.method())
以上有待详细补充。
参考:
http://www.bgpy.net/news_1312.html
http://www.cnblogs.com/gooroc/p/5073400.html