1. 程式人生 > >JS中函式宣告與函式表示式的不同

JS中函式宣告與函式表示式的不同

Js中的函式宣告是指下面的形式:

       

這樣的方式來宣告一個函式,而函式表示式則是類似表示式那樣來宣告一個函式,如:

        

可能很多朋友在看到這兩一種寫法時會產生疑惑,這兩種寫法差不多,在應用中貌似也都是可行的,那他們有什麼差別呢?

事實上,js的解析器對函式宣告與函式表示式並不是一視同仁地對待的。對於函式宣告,js解析器會優先讀取,確保在所有程式碼執行之前宣告已經被解析,而函式表示式,如同定義其它基本型別的變數一樣,只在執行到某一句時也會對其進行解析,所以在實際中,它們還是會有差異的,具體表現在,當使用函式宣告的形式來定義函式時,可將呼叫語句寫在函式宣告之前,而後者,這樣做的話會報錯。