js中匿名函数的N种写法

js中匿名函数的N种写法

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

在java中有private属性,强大的功能js不能实现就矮人一截,匿名函数,发扬广大
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;">
匿名函数没有实际名字,也没有指针,怎么执行滴? 
其实大家可以看看小括号的意义就应该可以理解。小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的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'); 
}());//有点强制执行的味道~ 

这么多写法贱卖啦~呵呵,其实有些人考虑到写法的效率问题,如果可以,给我一个数据把,自我感觉这些写法是有效率问题,但是应该是微乎其微而已(或许不对),我会随便选一个用~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值