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

2021-07-16 16:36:06 字數 434 閱讀 6792

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

function functionname()

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

var functionname = function()

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

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

js函式宣告與函式表示式

function a 這種叫函式宣告,function var fn function var fn function a 這種是函式表示式,var fn function a 中的a相當於乙個函式區域性變數,只能在這個函式內部使用,如var fn function fib n else 在函式外部...

JS 函式宣告與函式表示式

函式宣告的function關鍵字放在最前面 函式宣告的函式會整體提公升到頂部 console.log a function a functiona 預編譯時實際順序如下 functiona console.log a 在函式表示式中可省略函式名稱從而建立匿名函式 函式表示式沒有提公升,使用var關鍵...

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

js 中的函式宣告是指下面的形式 function functionname 這樣的方式來宣告乙個函式,而函式表示式則是類似表示式那樣來宣告乙個函式,如 var functionname function 可能很多朋友在看到這兩一種寫法時會產生疑惑,這兩種寫法差不多,在應用中貌似也都是可行的,那他們...