天天看點

JavaScript 函數聲明和函數表達式

Javascript Function無處不在,而且功能強大!通過Javascript函數可以讓JS具有面向對象的一些特征,實作封裝、繼承等,也可以讓代碼得到複用。但事物都有兩面性,Javascript函數有的時候也比較“任性”,你如果不了解它的“性情”,它很可能給你制造出一些意想不到的麻煩(bugs)出來。

有兩種方式有函數聲明和函數表達式。

函數聲明

function a(){
 
 }
           

函數表達式

var a = function(){

}
           

用***函數聲明***建立的函數a可以在a定義之前就進行調用。

而用***函數表達式***建立的a函數不能在a被指派之前進行調用。

為什麼會這樣呢?!

這就要了解Javascript Function兩種類型的差別:用函數聲明建立的函數可以在函數解析後調用(解析時進行等邏輯處理);

而用函數表達式建立的函數是在運作時進行指派,且要等到表達式指派完成後才能調用。

繼續閱讀