我有以下导出对象:
module.exports = {
value: 0,
startTimer: function() {
setInterval(function() {
value++;
}, 1000);
}
}
如何从该setInterval函数访问value
?
提前谢谢。
答案 0 :(得分:2)
您可以指定值的完整路径:
module.exports = {
value: 0,
startTimer: function() {
setInterval(function() {
module.exports.value++;
}, 1000);
}
}
或者,如果将setTimeout
调用的函数绑定到this
,则可以使用this
:
module.exports = {
value: 0,
startTimer: function() {
setInterval(function() {
this.value++;
}.bind(this), 1000);
}
}
这类似于这样的代码,您将不时看到:
module.exports = {
value: 0,
startTimer: function() {
var self = this;
setInterval(function() {
self.value++;
}, 1000);
}
}