// 匿名函数——最基本方式(立即执行)
(function(){
alert("匿名函数");
})();
// 等价于
var test = function(){
alert("匿名函数");
}
test();
// 匿名函数——带参数
(function(param){
alert(param);
})("徐越");
// 匿名函数——链式调用
(function(param) {
alert(param);
return arguments.callee;
})("徐越")("徐越")("徐越");
// 匿名函数——jQuery
(function($){
...................................
})(jQuery);
// 等价于
var test = function(){
var $ = jQuery;
.......................................
}
test();
那么js匿名函数有什么好处呢?
(function(){
var a = "徐越";
})();
这样写的好处是里边的变量,比如a,都是封闭的,不对外开放,减少了全局变量带来的混乱。
还有其他的一些写法
!!!(function(){
alert("run!")
})();
(function(){
alert("run!")
}).call();
(function(){
alert("run!")
}).apply();
(function(){
alert("run!")
}());
void (function(){
alert("run!")
})();
~(function(){
alert("run!")
})();
~!(function(){
alert("run!")
})();
delete (function(){
alert("run!")
})();
+(function(){
alert("run!")
})();
-(function(){
alert("run!")
})();
setTimeout(function(){
alert("run");
},0);
~+-!(function(){
alert("run!")
})();
参考博客: http://blog.163.com/yyl_love_you@126/blog/static/7261237120101011101320878/
本文深入探讨了JavaScript中匿名函数的多种使用场景及其带来的好处,包括立即执行、带参数、链式调用、与jQuery的结合,以及如何通过匿名函数减少全局变量的混乱。同时介绍了匿名函数的其他一些特殊用法,如调用方式和执行环境,并提供了相关参考链接。
1068

被折叠的 条评论
为什么被折叠?



