我正在做这样的事情:
var talkAPI = {
init: function(){
setInterval(function(){
this.speak();
},1000);
},
speak: function(){
//Something else
}
};
但是,我发现这并没有像我预期的那样工作。所以我做了一些测试,我发现 setInterval
中的 this
指的是 Window
。而这不是我想要的。那么我怎样才能将this
重新引用到talkAPI
呢?因为我不想这样做:
setInterval(function(){
window.talkAPI.speak(); //Not so good
},1000);
最佳答案
你需要保存原来的this
用于回调
init: function() {
var self = this;
setInterval(function(){
self.speak();
},1000);
},
关于javascript - 将 "this"引用到自定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10307051/