js匿名函數(shù)的調(diào)用示例(形式多種多樣)
匿名函數(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是一個操作符,該操作符指定要計算一個表達(dá)式但是不返回值。
!function(){
alert('!water');
}(); //運算符+匿名函數(shù)調(diào)用
(function(){
alert('water');
}());//小括號+匿名函數(shù),有點強制執(zhí)行的味道~
使用匿名函數(shù)也要注意經(jīng)常犯的錯誤:
//錯誤寫法1
(function f1() {
alert(5);
})f1(); //這不是匿名函數(shù)了!
//錯誤寫法2
(function () {
alert(6);
}); //語法沒有錯誤,沒有調(diào)用的匿名函數(shù),后面也沒有機會調(diào)用了,因為沒有名字,找不到調(diào)用入口。
//錯誤寫法3
function () {
alert(1);
}();//沒有產(chǎn)生函數(shù)的引用就調(diào)用
另外要注意理解小括號的作用。
小括號能把我們的表達(dá)式組合分塊,并且每一塊,也就是每一對小括號,都有一個返回值。這個返回值實際上也就是小括號中表達(dá)式的返回值。所以,當(dāng)我們用一對小括號把匿名函數(shù)括起來的時候,實際上小括號對返回的,就是一個匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧?。所以如果在這個引用變量后面再加上參數(shù)列表,就會實現(xiàn)普通函數(shù)的調(diào)用形式。
相關(guān)文章
JS和Canvas實現(xiàn)圖片的預(yù)覽壓縮和上傳功能
這篇文章主要介紹了JS和Canvas實現(xiàn)圖片的預(yù)覽壓縮和上傳功能,實現(xiàn)此功能大概有兩步,第一步用戶選擇需要上傳的圖片,第二步獲取圖片資源壓縮預(yù)覽上傳,具體實現(xiàn)代碼大家參考下本文2018-03-03
JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實例
這篇文章主要介紹了JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
Javascript 模擬點擊事件(點擊鏈接與html點擊) 兼容IE/Firefox
Javascript 模擬點擊事件,一般情況下ie支持的,firefox并不支持。所以可以通過下面的方法解決。2010-01-01

