javascript匿名函式常用呼叫方式介紹

admin發表於2017-03-31

所謂的匿名函式就是沒有名稱的函式,看如下程式碼:

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

上面是一個普通的函式,具有函式的所有要素,再來看一個匿名函式:

[JavaScript] 純文字檢視 複製程式碼
(function(){
  //code
})()

上面是一個自執行匿名函式。其實匿名函式的呼叫方式多種多樣,下面就來簡單介紹一下常用的幾種方式。

呼叫方式一:

[JavaScript] 純文字檢視 複製程式碼
(function(){
  console.log("softwhy.com");
})()

呼叫方式二:

[JavaScript] 純文字檢視 複製程式碼
void function(){
  console.log("softwhy.com");
}()

呼叫方式三:

[JavaScript] 純文字檢視 複製程式碼
!function(){
  console.log("softwhy.com");
}()

其實還有很多很多的方式,只是上面的幾種比較常見而已。

可能有朋友會產生這樣的疑問,有沒有什麼規律沒有,其實規律是有的,下面做一下介紹。

如果使用下面的方式就會報錯,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function(){
  console.log("softwhy.com");
}()

之所以這樣是因為function(){}會被認為一個函式宣告,但是函式宣告必須的要素是function、函式名稱、()還有{},但是上面的程式碼缺少函式名稱所以會報錯,但是下面這種類似的方式:

[JavaScript] 純文字檢視 複製程式碼
!function(){
  console.log("softwhy.com");
}()

就會將function(){}視為一個表示式,因為運算子兩邊必須是表示式,就不是函式宣告瞭,於是就不會報錯了。

總之規律就是使用一個運算子,將其轉換為一個表示式,避免誤讀為函式宣告即可。

相關文章