javascript兩種宣告函式方式的區別

螞蟻小編發表於2017-03-16

函式在js中有兩種比較相似的宣告方式,下面簡單介紹一下兩種方式的區別和用法:

兩種宣告方式:

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

上面是兩種宣告方式,下面就對它們做一下簡單介紹:

一.典型的函式宣告:

也就是第一種宣告方式:

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

此中宣告方式,需要顯示的指定函式名稱,並且它會在函式之前,也即是編譯期間載入到作用域中。

二.使用表示式方式宣告:

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

此方式宣告的函式只會在程式碼執行時(執行期)載入。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
console.log(a);
console.log(b);
function a(){}
var b=function(){}

在以上程式碼中,第一個輸出a函式,第二個輸出undefined,這說明典型宣告方式在程式碼執行前的編譯階段已經載入作用域,而第二中方式只能夠在程式碼執行階段,按照順序執行的方式載入。

相關文章