js匿名函數(shù)的調(diào)用示例(形式多種多樣)
匿名函數(shù)就是沒有實(shí)際名字的函數(shù)。
javaScript的匿名函數(shù)形式多樣,而且不搞清楚,容易看暈代碼。
以下是成功調(diào)用的匿名函數(shù):
(function () {
alert(3);
})
();
(function f1() {
alert(4);
})(); //不是匿名函數(shù)也能這樣調(diào)用?。?/p>
void function(){
alert('void water');
}();//據(jù)說效率最高,Javascript中void是一個操作符,該操作符指定要計(jì)算一個表達(dá)式但是不返回值。
!function(){
alert('!water');
}(); //運(yùn)算符+匿名函數(shù)調(diào)用
(function(){
alert('water');
}());//小括號+匿名函數(shù),有點(diǎn)強(qiáng)制執(zhí)行的味道~
使用匿名函數(shù)也要注意經(jīng)常犯的錯誤:
//錯誤寫法1
(function f1() {
alert(5);
})f1(); //這不是匿名函數(shù)了!
//錯誤寫法2
(function () {
alert(6);
}); //語法沒有錯誤,沒有調(diào)用的匿名函數(shù),后面也沒有機(jī)會調(diào)用了,因?yàn)闆]有名字,找不到調(diào)用入口。
//錯誤寫法3
function () {
alert(1);
}();//沒有產(chǎn)生函數(shù)的引用就調(diào)用
另外要注意理解小括號的作用。
小括號能把我們的表達(dá)式組合分塊,并且每一塊,也就是每一對小括號,都有一個返回值。這個返回值實(shí)際上也就是小括號中表達(dá)式的返回值。所以,當(dāng)我們用一對小括號把匿名函數(shù)括起來的時(shí)候,實(shí)際上小括號對返回的,就是一個匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧恕K匀绻谶@個引用變量后面再加上參數(shù)列表,就會實(shí)現(xiàn)普通函數(shù)的調(diào)用形式。
相關(guān)文章
layui內(nèi)置模塊layim發(fā)送圖片添加加載動畫的方法
今天小編就為大家分享一篇layui內(nèi)置模塊layim發(fā)送圖片添加加載動畫的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09onbeforeunload與onunload事件異同點(diǎn)總結(jié)
本文對onbeforeunload與onunload事件的異同點(diǎn)、觸發(fā)于、可以用在哪些元素以及解決刷新頁面時(shí)不調(diào)用onbeforeunload等等,感興趣的朋友可以參考下哈2013-06-06JavaScript實(shí)現(xiàn)帶音效的煙花特效
這篇文章主要為大家介紹了通過JavaScript實(shí)現(xiàn)的帶音效的煙花特效,文中的示例代碼簡潔易懂,對我們學(xué)習(xí)JavaScript有一定的幫助,感興趣的可以了解一下2021-12-12js實(shí)現(xiàn)權(quán)限樹的更新權(quán)限時(shí)的全選全消功能
上一篇發(fā)了添加權(quán)限時(shí)的權(quán)限樹JS源碼,下面把更新時(shí)的也發(fā)給大家借鑒一下,因?yàn)楦聲r(shí)候牽扯到判斷已有權(quán)限等,所以,還要麻煩一些。2009-02-02微信小程序?qū)崿F(xiàn)頁面監(jiān)聽自定義組件的觸發(fā)事件
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)頁面監(jiān)聽自定義組件的觸發(fā)事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11