gpt4 book ai didi

javascript - 如何从 javascript setInterval 更新变量?

转载 作者:行者123 更新时间:2023-11-28 20:59:02 27 4
gpt4 key购买 nike

假设我有一个对象:

var myObj = function {
this.count = 0;
}

myObj.prototype {
setCount : function() {
var interval = setInterval(function() {
this.count++;
}, 500);
}
}

问题是 count 在 setInterval 中始终未定义,因此我永远无法将 myObj 中的 count 变量增加到 0 以外的值。

最佳答案

this 根据被调用的函数(以及该函数的调用方式)而变化。

您传递给 setInterval 的匿名函数是一个不同的函数。

首先将值复制到非魔法变量。

   setCount : function() {
var that = this;
var interval = setInterval(function() {
that.count++;
}, 500);

参见the this problem在文档中。

关于javascript - 如何从 javascript setInterval 更新变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com