首頁  >  文章  >  web前端  >  JavaScript 函數呼叫中括號何時運作?

JavaScript 函數呼叫中括號何時運作?

Linda Hamilton
Linda Hamilton原創
2024-11-25 14:56:11271瀏覽

When Do Parentheses Matter in JavaScript Function Calls?

函數宣告與呼叫中的括號

在 JavaScript 中,函數宣告和呼叫之間的區別出現在它們的語法中。函數宣告以大括號結束,而函數呼叫以括號結束。

考慮以下範例:

var myFunction = function() {
  setTimeout(myFunction, 1000);
}
myFunction();

這裡,setTimeout 函數需要一個函數參考作為參數。當您編寫 myFunction 時,您正在引用函數本身。相反,myFunction() 實際上呼叫了該函數。

雖然這看起來很簡單,但也有例外。 setTimeout 也可以接受傳回函數的函數,例如下列程式碼:

function myFunction() {
  return function() {
    alert("ohai");
  }
}

// or

const myFunction = () => () => alert("ohai");

在這種情況下,setTimeout(myFunction(), 1000) 會:

    呼叫myFtion函數並儲存其返回值。
  1. 取得myFunction函數回傳。
這有效地安排了每秒顯示一次警報。

因此,關鍵區別在於,當您省略括號時,您引用的是函數物件本身。當包含括號時,您將呼叫該函數。這適用於函數聲明,例如 var myFunction = function() { ... } 和函數表達式,例如 const myFunction = () =>; { ... }.

以上是JavaScript 函數呼叫中括號何時運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:React 中的鉤子下一篇:React 中的鉤子