現在,模仿事件發生器。
~~~
exports.eventEmitter = eventEmitter;
function eventEmitter(){
this.obj = {};
this.on = function(event,callback){ //對事件綁定監聽器
if(!this.obj[event]){
this.obj[event] = [];
this.obj[event].push(callback);
}
}
this.emit = function(event){
this.obj[event][0]();
}
}
~~~
在事件發生器中,有一個私有對象obj,用于記錄事件名和事件函數。
在on函數中,將事件名和監聽器存儲在obj中,在emit函數中,根據
事件名調用相應的監聽器。
如果想綁定多個事件監聽器,可以使用 事件名/事件監聽器數組 的形式存儲。
寫這個是為了了解事件發生器的原理,所以這個事件發生器寫的不太完善。