像下面init()里面那样添加的事件,应该怎么移除?如下的例子是移除不了的,请问还有别的方法吗?
function init(){
aabtn.addEventListener("click",function(e){aa()});//aabtn是一个div
}
var i = 0;
function aa(){
tex.innerHTML = i++;//tex也是一个div
aabtn.removeEventListener("click",arguments.callee);//这样的写法是不行的,请问还有别的写法吗?
}
不要混淆匿名函數和函數表達式。
話說 arguments.callee 就是爲了解決這一問題而出現的,但現在有了函數表達式,arguments 也就沒必要存在了。投奔嚴格模式與未來吧!
模塊化需要的是閉包,而不是什麼匿名函數、函數表達式與函數聲明的寫法。
其實你需要的是這個:
Immediately-invoked function expression:
至於事件處理函數調用時 this 的指向問題(這不叫模塊化,這叫面向對象)
題主需要的是這個: