在 JavaScript 中,this 关键字指的是拥有当前正在执行的代码的对象。使用 setInterval 时这可能会出现问题,因为回调函数是在不同的上下文中执行的,从而无法访问原始的 this。要克服这个问题:
要允许在 setInterval 回调中访问它,我们可以使用 bind() 方法:
this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);
这里,bind(this)确保retrieve_rate回调中的this始终引用设置间隔的对象(即prefs所在的对象)定义)。
通过此修改,您现在可以在 ajax.onload 回调中访问 this.prefs:
ajax.onload = function() { // Access this.prefs here }
以上是如何在 JavaScript 的 `setInterval` 回调中保留 `this` 上下文?的详细内容。更多信息请关注PHP中文网其他相关文章!