Javascript匿名函数的作用之一:创建临时的命名空间,防止全局变量污染

时间:2015-03-15 18:15:07   收藏:0   阅读:142

如果你写了一段js模块的代码,这段代码将用在不同的程序中(对客户端Javascript来说通常是在各种各样的网页中)。假定这段代码定义了一个用以存储中间计算结果的变量,问题来了,这个变量可能会同其他代码中的全局变量发生冲突。解决的办法是将模块代码放入一个函数内部,然后立即调用这个函数。这样全局变量就变成了函数内部的局部变量:

function() myModule(){
     //模块代码,这个模块所用的所有变量都是局部变量,而不会污染全局命名空间  

}
myModule();   //立即调用这个函数

这样还是太麻烦,可以直接定义一个匿名函数,并在单个表达式中调用它:

function(){   //myModule()重写为匿名函数的表达式
   //模块代码
}())  //结束定义立即调用

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!