JavaScript 函式宣告方式

antzone發表於2017-04-01

本文介紹一下實際編碼中常見的幾種函式宣告方式,並介紹一下它們之間的區別。

一.函式宣告方式:

所謂的函式宣告的方式就是採用function+函式名(){}的方式建立一個函式。

程式碼例項如下:

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

此種方式宣告的函式,可以在宣告之前呼叫此函式,程式碼例項如下:

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

從上面的演示可以看出,函式的呼叫可以在函式的宣告之前,這是因為在js程式碼預編譯階段函式宣告會被前置。

二.表示式方式宣告:

所謂表示式方式宣告,就是採用表示式方式建立一個函式。程式碼例項:

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

上面的程式碼採用表示式方式宣告一個函式。

這種方式宣告的函式必須在宣告之後使用,否則會報錯,程式碼例項如下:

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

上面的程式碼會報錯,需要在函式宣告的後面呼叫,下面介紹一下原因:

表示式方式其實就是一個變數宣告賦值的表示式,在js預編譯階段,變數的宣告會前置,但是此時變數的值是undefined,也就是說當我們再呼叫func()函式的時候,func的值是undefined,所以會報錯,變數賦值操作是在js程式碼執行的階段。

相關文章