將上下文傳遞給setTimeout 回呼
將正確的上下文傳遞給setTimeout 回調可能具有挑戰性,尤其是在使用物件方法時。最初,在回呼中引用 this 時,通常會導致使用全域物件。
要解決此問題,有幾種方法:
1.儲存參考(ES5 及更早版本):
此技術使用臨時變數來保存呼叫setTimeout 的上下文。
2 。綁定方法(ES5 及更高版本):
bind 方法使用預先定義的 this 值建立新函數。在本例中,this 在呼叫 setTimeout 之前設定為物件。
3。箭頭函數(ES6 及更高版本):
箭頭函數繼承其詞法 this 上下文,與呼叫 setTimeout 的物件相同。這樣就無需綁定或儲存它。
4。向 setTimeout 傳遞參數 (HTML5):
HTML5 在 setTimeout 中引入了一項功能,允許向回調傳遞其他參數。在這裡,它作為參數傳遞並在回調函數中存取。
以上是如何正確地將上下文傳遞給'setTimeout”回調?的詳細內容。更多資訊請關注PHP中文網其他相關文章!