首頁 > web前端 > js教程 > 如何正確地將上下文傳遞給'setTimeout”回調?

如何正確地將上下文傳遞給'setTimeout”回調?

Patricia Arquette
發布: 2024-12-25 22:25:23
原創
292 人瀏覽過

How Can I Correctly Pass Context to a `setTimeout` Callback?

將上下文傳遞給setTimeout 回呼

將正確的上下文傳遞給setTimeout 回調可能具有挑戰性,尤其是在使用物件方法時。最初,在回呼中引用 this 時,通常會導致使用全域物件。

要解決此問題,有幾種方法:

1.儲存參考(ES5 及更早版本):

此技術使用臨時變數來保存呼叫setTimeout 的上下文。

2 。綁定方法(ES5 及更高版本):

bind 方法使用預先定義的 this 值建立新函數。在本例中,this 在呼叫 setTimeout 之前設定為物件。

3。箭頭函數(ES6 及更高版本):

箭頭函數繼承其詞法 this 上下文,與呼叫 setTimeout 的物件相同。這樣就無需綁定或儲存它。

4。向 setTimeout 傳遞參數 (HTML5):

HTML5 在 setTimeout 中引入了一項功能,允許向回調傳遞其他參數。在這裡,它作為參數傳遞並在回調函數中存取。

以上是如何正確地將上下文傳遞給'setTimeout”回調?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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