我有一些JavaScript代碼(在對象中):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));
但這似乎並沒有工作......我錯過了什麼嗎?這是「這是語言的工作方式,所以只聲明一個局部變量並處理它」?
UPDATE:
源到我的問題是/是我在JavaScript範圍和封閉不清楚的理解。我發現this article幫助我瞭解更多。
它不工作,因爲你有一個')'太多。不是'var handler =(function(o){o.progress();})(this);'也許工作? – pimvdb 2011-05-31 14:12:54