论坛首页 Web前端技术论坛

执行JS匿名函数的N种方式

浏览 2166 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-08   最后修改:2009-06-08
定义并且立即执行JS匿名函数有几种方法哪?我的结论是有无数种,请看:
/*最流行的写法*/
(function(){
	alert("run!")
})();

/* !号可以有1~正无穷个,所以这一种就可以衍生无数种方式 */
!!!(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!")
})();


以上可能call和apply的语义比较清晰,其他方式还是比较令人费解的。
   发表时间:2009-06-10  
以前看到匿名函数完全不明白它为什么会这样写
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics