我有一些javascript代码(在一个对象中):
toggle: function() {
var me = this;
var handler = function() { me.progress() };
me.intervalId = setInterval(handler, me.intervalTime);
//...More code
}
我对javascript还是个新手,所以就我所知,这样做实际上是将me
变量传递给匿名函数。我想看看是否有一种更具说明性的方式来做到这一点?我想要的东西大致是:
var handler = (function(o) { o.progress();})(this));
但这似乎并不管用...我是不是遗漏了什么?这是一种“这就是语言的工作方式,所以只需声明一个局部变量并处理它”的情况?
更新:
我的问题的根源是我对javascript中的作用域和闭包的理解不清。我发现this article可以帮助我更好地理解它。
https://stackoverflow.com/questions/6188861
复制相似问题