您的位置:首页 > Web前端 > JavaScript

js中匿名函数的N种写法

2016-02-26 14:28 363 查看


js中匿名函数的N种写法

作者: 字体:[增加 减小] 类型:转载 时间:2010-09-08 我要评论

在java中有private属性,强大的功能js不能实现就矮人一截,匿名函数,发扬广大

<iframe id="iframeu2261530_0" src="http://pos.baidu.com/acom?sz=680x200&rdid=2261530&dc=2&di=u2261530&dri=0&dis=0&dai=2&ps=403x41&coa=at%3D3%26rsi0%3D680%26rsi1%3D200%26pat%3D6%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0%26ptbg%3D90%26piw%3D0%26pih%3D0%26ptp%3D0&dcb=BAIDU_UNION_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1456456334080&ti=js%E4%B8%AD%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0%E7%9A%84N%E7%A7%8D%E5%86%99%E6%B3%95_javascript%E6%8A%80%E5%B7%A7_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&ari=1&dbv=2&drs=1&pcs=1072x497&pss=1072x409&cfv=0&cpl=4&chi=1&cce=true&cec=GBK&tlm=1454005101&ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F24759.htm&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D8w_5wbb_iCGoTNg1VvaQU-USsLGU7dYOy-w5tlRqN99o87nTIi3g1Y8xlHCobz6a%26wd%3D%26eqid%3Dbb1c7b050013fc7f0000000556cfc245&ecd=1&psr=1366x768&par=1366x728&pis=-1x-1&ccd=24&cja=false&cmi=6&col=zh-CN&cdo=-1&tcn=1456456334&qn=7166bea7cc215f89&tt=1456456334005.127.420.421" width="680" height="200" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: block; border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>

匿名函数没有实际名字,也没有指针,怎么执行滴? 

其实大家可以看看小括号的意义就应该可以理解。小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括号的返回值,不难理解 (function(){})()可以将没有名字的函数执行了把… 

关于匿名函数写法,很发散~ 

最常见的用法: 

复制代码代码如下:

(function() { 

alert('water'); 

})(); 

当然也可以带参数: 

复制代码代码如下:

(function(o) { 

alert(o); 

})('water'); 

想用匿名函数的链式调用?很简单: 

复制代码代码如下:

(function(o) { 

alert(o); 

return arguments.callee; 

})('water')('down'); 

常见的匿名函数都知道了,看看不常见的: 

复制代码代码如下:

~(function(){ 

alert('water'); 

})();//写法有点酷~ 

复制代码代码如下:

void function(){ 

alert('water'); 

}();//据说效率最高~ 

复制代码代码如下:

+function(){ 

alert('water'); 

}(); 

复制代码代码如下:

-function(){ 

alert('water'); 

}(); 

复制代码代码如下:

~function(){ 

alert('water'); 

}(); 

复制代码代码如下:

!function(){ 

alert('water'); 

}(); 

复制代码代码如下:

(function(){ 

alert('water'); 

}());//有点强制执行的味道~ 

这么多写法贱卖啦~呵呵,其实有些人考虑到写法的效率问题,如果可以,给我一个数据把,自我感觉这些写法是有效率问题,但是应该是微乎其微而已(或许不对),我会随便选一个用~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: