Dan*_*res 3 javascript setinterval
请有人在setInterval函数的末尾解释一下(this)的含义是什么:
function Klass(name) {
this.name = name;
this.handle = null;
this.startTimer = function() {
this.handle = setInterval(function(obj) {
return(function() {
alert(obj.name);
});
}(this), 5000); // <-------------------- (this)
}
Run Code Online (Sandbox Code Playgroud)
采用this的结构是为了维持的意义this在点setInterval被调用实际回调是在给定的时间间隔执行.没有手动保存this就会成为该功能的所有者setInterval.
这是一篇关于这个主题的非常好的文章
另一种可以做得更清楚的方法如下
var self = this
this.handle = setInterval(function() { alert(self.Name); }, 5000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |