javascript – setInterval with(this)

请有人在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)

      }

解决方法:

在构造中使用this旨在保留this的含义.在给定间隔执行的实际回调中调用setInterval.如果没有手动保存,这将成为调用setInterval时函数的所有者.

这是一篇关于这个主题的非常好的文章

> http://www.quirksmode.org/js/this.html

另一种可以做得更清楚的方法如下

var self = this
this.handle = setInterval(function() { alert(self.Name); }, 5000);
上一篇:JavaScript Timing 事件及两种时钟写法


下一篇:javascript – 每n秒js生成一个随机数