如何在JavaScript 中建立只能執行一次的函數
JavaScript 本質上並沒有提供一種方法來建立只能執行一次的函數運行一次。然而,有一些使用閉包和第三方庫的優雅解決方案。
閉包方法:
閉包建立一個私有作用域,可以由它包含的函數存取。在此範圍內,可以設定一個標誌來指示函數是否已執行。以下程式碼示範了這個方法:
第一次呼叫 Something() 會呼叫函數並將執行設為 true。後續呼叫將無效,因為執行仍然為 true。
第三方函式庫方法:
像Underscore 和Ramda 這樣的函式庫提供了一個Once() 函數,它包裝了提供的函數並確保它只運行一次。
傳回的函數可以呼叫多次,但底層函數只會執行第一次。
建立函數的實用程式-時間函數:
如果您不使用函式庫,您可以建立自訂公用函數。一種方法是:
此函數接受一個函數和一個可選的上下文。它會傳回一個函數,該函數在第一次呼叫時執行原始函數並傳回結果。後續調用沒有任何效果。
以上是如何在 JavaScript 中建立一個只執行一次的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!