首頁 > web前端 > js教程 > 何時在 JavaScript 函數引用中使用括號?

何時在 JavaScript 函數引用中使用括號?

Patricia Arquette
發布: 2024-12-05 10:27:13
原創
645 人瀏覽過

When to Use Parentheses with JavaScript Function References?

何時使用括號,何時不使用?

在 JavaScript 中,了解何時使用括號、何時不使用括號至關重要,尤其是在函數中參考。考慮下面的程式碼:

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();
登入後複製

為什麼 setTimeout 中的函數呼叫不需要括號,而最後一行卻需要?

Nutshell

  • myFunction 引用函數
  • myFunction()呼叫function

詳細說明

setTimeout 接受函數引用作為參數。在第一行中,setTimeout(myFunction, 1000) 傳遞不含括號的函數引用,因為它需要引用。

但是,在最後一行中,myFunction() 實際上是在呼叫函數。為了呼叫函數,我們使用括號來執行它。因此,myFunction() 執行函數,因此需要括號。

Exception

在某些情況下 setTimeout(myFunction(), 1000) 可能是適當的,例如當 myFunction() 傳回一個函數時。例如:

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

// Or

const myFunction = () => () => alert("ohai")
登入後複製

本例中,setTimeout(myFunction(), 1000):

  • 呼叫外層函數myFunction
  • 取得回傳值,這是一個內部函數
  • 將內部函數作為參數傳遞給setTimeout

這會導致每秒發出一次警報。

結論

理解函數引用中括號的用途對於有效的 JavaScript 至關重要程式設計。透過記住括號表示函數調用,您可以根據需要正確使用它們來調用函數或傳遞函數參考。

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

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