js匿名函數(shù)的調(diào)用示例(形式多種多樣)
匿名函數(shù)就是沒有實際名字的函數(shù)。
javaScript的匿名函數(shù)形式多樣,而且不搞清楚,容易看暈代碼。
以下是成功調(diào)用的匿名函數(shù):
(function () {
alert(3);
})
();
(function f1() {
alert(4);
})(); //不是匿名函數(shù)也能這樣調(diào)用!!
void function(){
alert('void water');
}();//據(jù)說效率最高,Javascript中void是一個操作符,該操作符指定要計算一個表達式但是不返回值。
!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)用
另外要注意理解小括號的作用。
小括號能把我們的表達式組合分塊,并且每一塊,也就是每一對小括號,都有一個返回值。這個返回值實際上也就是小括號中表達式的返回值。所以,當我們用一對小括號把匿名函數(shù)括起來的時候,實際上小括號對返回的,就是一個匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧?。所以如果在這個引用變量后面再加上參數(shù)列表,就會實現(xiàn)普通函數(shù)的調(diào)用形式。
相關(guān)文章
JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實例
這篇文章主要介紹了JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
Javascript 模擬點擊事件(點擊鏈接與html點擊) 兼容IE/Firefox
Javascript 模擬點擊事件,一般情況下ie支持的,firefox并不支持。所以可以通過下面的方法解決。2010-01-01

