首頁 >web前端 >js教程 >如何在 JavaScript 中正確存取 `setInterval` 處理程序中的 `this`?

如何在 JavaScript 中正確存取 `setInterval` 處理程序中的 `this`?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-01 05:49:13917瀏覽

How to Correctly Access `this` in `setInterval` Handlers in JavaScript?

在JavaScript 中的setInterval 處理程序中存取this

當使用setInterval 以指定的時間間隔安排函數執行時,通常需要存取功能在處理函數中啟動間隔的物件。然而,處理程序內部的 this 關鍵字可能無法引用正確的上下文,從而導致錯誤。

解決方案:使用bind

來確保 this 關鍵字引用setInterval 處理程序中的預期對象,您可以使用 bind() 方法。如下程式碼所示:

this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);

透過將retrieve_rate函數綁定到目前的this上下文,ajax.onload函數中的this關鍵字將正確指向啟動間隔的物件。這允許您根據需要存取 this.prefs 屬性。

以上是如何在 JavaScript 中正確存取 `setInterval` 處理程序中的 `this`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn