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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/chenqiushi/p/4340100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值