884
技術社區[雲棲]
Javascript匿名函數
// 匿名函數——最基本方式(立即執行)
(function(){
alert("匿名函數");
})();
// 等價於
var test = function(){
alert("匿名函數");
}
test();
// 匿名函數——帶參數
(function(param){
alert(param);
})("xy");
// 匿名函數——鏈式調用
(function(param) {
alert(param);
return arguments.callee;
})("xy")("xy")("xy");
// 匿名函數——jQuery
(function($){
...................................
})(jQuery);
// 等價於
var test = function(){
var $ = jQuery;
.......................................
}
test();
那麼js匿名函數有什麼好處呢?
(function(){
var a = "xy";
})();
這樣寫的好處是裏邊的變量,比如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!")
})();
參考博客: https://blog.163.com/yyl_love_you@126/blog/static/7261237120101011101320878/
最後更新:2017-04-02 22:16:20