首頁 > web前端 > js教程 > 主體

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

Linda Hamilton
發布: 2024-11-25 14:56:11
原創
270 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板