自调用匿名函数

开发中有时候需要我们自己封装api,这时候就会用到自调用匿名函数。那么自调用匿名函数是什么呢?

(function(){
	// code
})();

包围函数(function(){}) 的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。

通过定义一个匿名函数,创建了一个“私有”的命名空间,该命名空间的变量和方法,不会破坏全局的命名空间。

例如:

(function(a){
	console.log(a+1);
})(10);

在jQuery中就有用到这样的写法:

(function(window, undefined){
	// code
})(window);

通过传入window变量,使window由全局变量变为局部变量,当在jQuery代码块中访问window时,不需要将作用域链回退到顶层作用域,这样可以更快的访问window;更重要的是,将window作为参数传入,可以在压缩代码时进行优化。

传入undefined,是为了在 自调用匿名函数 的作用域内,确保undefined是真的未定义的。因为undefined能够被重写,赋予新的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值