js中匿名函式的使用簡單介紹

antzone發表於2017-03-17

本章節從簡單處著手介紹一下關於匿名函式的一些用法,在網上也有不少對此介紹的文章,精品很多,不過語言表達上太過於高深,或者說講述太過深入,對於初學者來說並不是特別容易接受,所以還是通俗簡單點的好。

一.匿名函式是什麼:

匿名函式包含兩個意思,首先它的是個函式,第二就是“匿名”,所以匿名函式也就是沒有名字的函式。

二.典型的定義函式的方式:

一.函式宣告方式:

[JavaScript] 純文字檢視 複製程式碼
function func(args) {
//函式體
}

二.表示式方式:

以上兩種宣告方式的區別:

1.函式宣告會在任何程式碼執行以前被載入到作用域。

2.函式表示式則是在程式碼執行到那一行的時候才會有定義。

程式碼例項如下:

例項一:

[JavaScript] 純文字檢視 複製程式碼
A();
function A(){
console.log("螞蟻部落一")
}

以上程式碼儘管函式宣告在函式呼叫之後,但是依然能夠輸出"螞蟻部落一",因為函式的宣告會在任何程式碼執行以前被載入到作用域。

例項二:

[JavaScript] 純文字檢視 複製程式碼
A();
var A=function(){
  console.log("螞蟻部落一")
}

採用表示式方式則不可以。

其實表示式方式的右半部分就是一個匿名函式,我們可以將它的引用賦值給一個變數。

三.匿名函式的使用:

[JavaScript] 純文字檢視 複製程式碼
function(a,b){
  var num=a+b;
  console.log(num);
}

以上程式碼宣告瞭一個匿名函式,但是我們無法使用它,因為沒有一個指向該函式物件的指標,下面介紹一下它的使用方式:

1.呼叫方式一:

[JavaScript] 純文字檢視 複製程式碼
var func=function(a,b){
  var num=a+b;
  console.log(num);
}
func(3,4);

將匿名函式物件的引用賦值給一個變數,然後利用這個變數呼叫函式。

2.呼叫方式二:

[JavaScript] 純文字檢視 複製程式碼
var func=function(a,b){
  var num=a+b;
  console.log(num);
}(3,4)

也是將匿名函式物件應用賦值給一個變數,不過這裡是直接呼叫。

3.呼叫方式三:

[JavaScript] 純文字檢視 複製程式碼
(function(a,b){
var num=a+b;
console.log(num);
})(3,4)

以上方式也比較常見,使用小括號分組並執行。

相關文章