使用回呼函數時,您可能會遇到需要傳遞額外參數的情況。本文解決了這個問題並提供了全面的解決方案。
您的初始嘗試(如程式碼片段所示)涉及將參數直接傳遞給回調函數。雖然這適用於提供的範例,但如果您需要傳遞多個或複雜的參數,它可能會變得很麻煩。
更通用的解決方案是利用參數物件。這個特殊變數包含傳遞給函數的所有參數,包括函數參數中定義的參數以及呼叫期間傳遞的任何其他參數。
修訂的程式碼片段:
<code class="javascript">function tryMe(param1, param2) { alert(param1 + " and " + param2); } function callbackTester(callback) { callback(arguments[1], arguments[2]); } callbackTester(tryMe, "hello", "goodbye");</code>
在修改後的程式碼中,callbackTester 函數現在接受單一參數,callback。在此函數中,我們使用arguments 物件來存取呼叫期間傳遞的附加參數,即param1 和param2。然後,這些參數將按預期傳遞給回呼函數 tryMe。
這種方法有幾個優點:
以上是如何在 JavaScript 中將參數傳遞給回呼函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!