首頁 >web前端 >js教程 >js匿名函數的呼叫範例(形式多種多樣)_javascript技巧

js匿名函數的呼叫範例(形式多種多樣)_javascript技巧

WBOY
WBOY原創
2016-05-16 16:39:101141瀏覽

匿名函數就是沒有實際名字的函數。

javaScript的匿名函數形式多樣,而且不搞清楚,容易看暈程式碼。

以下是成功呼叫的匿名函數:

複製程式碼 程式碼如下:

(function () {
alert(3);
})
();

(function f1() {
alert(4);
})(); //不是匿名函式也能這樣呼叫! !

void function(){
alert('void water');
}();//據說效率最高,Javascript中void是一個運算符,該運算子指定要計算一個表達式但不傳回值。

!function(){
alert('!water');
}(); //運算子 匿名函式呼叫

(function(){
alert('water');
}());//小括號 匿名函數,有點強制執行的味道~


使用匿名函數也要注意常犯的錯誤:
複製程式碼 程式碼如下:

//錯誤寫法1
(function f1() {
alert(5);
})f1(); //這不是匿名函式了!

//錯誤寫法2
(function () {
alert(6);
}); //語法沒有錯誤,沒有呼叫的匿名函數,後面也沒有機會呼叫了,因為沒有名字,找不到呼叫入口。

//錯誤寫法3
function () {
alert(1);
}();//沒有產生函數的引用就呼叫


另外要注意理解小括號的作用。

小括號能把我們的表達式組合分塊,並且每一塊,也就是每一對小括號,都有一個回傳值。這個回傳值其實也就是小括號中表達式的回傳值。所以,當我們用一對小括號把匿名函數括起來的時候,實際上小括號對回傳的,就是一個匿名函數的Function物件。因此,小括號對加上匿名函數就如同有名字的函數般被我們取得它的引用位置了。所以如果在這個引用變數後面再加上參數列表,就會實作普通函數的呼叫形式。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn