在 JavaScript 中,可以使用表達式或宣告來定義函數。雖然這兩種方法都允許您建立可重複使用的程式碼區塊,但它們在執行上下文中的行為方式存在一些根本差異。
函數表達式是一個匿名函數,它被賦值給變數或常數。它遵循以下語法:
var foo = function() { return 5; };
在此範例中,foo 是一個匿名函數(缺少正式名稱),在呼叫時傳回值 5。
相反,函數宣告是使用function 關鍵字宣告的命名函數,後面接著名稱和選用參數:
function foo() { return 5; }
在這種情況下, foo 是執行下列操作的命名函數:與上面的匿名函數表達式相同的任務。
表達式和聲明之間的主要區別在於它們如何載入到執行上下文中。
// Function Expression alert(foo()); // ERROR! var foo = function() { return 5; };
在此範例中,alert(foo()) 會拋出錯誤,因為 foo 尚未定義。
// Function Declaration alert(foo()); // Alerts 5 function foo() { return 5; }
這裡,alert(foo()) 發出警報5 因為函數宣告是在任何程式碼執行之前載入的。
While 函數表達式在大多數情況下,宣告的行為類似,但需要注意一些細微差別:
以上是JavaScript 函數宣告和表達式之間的主要區別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!