现在,模仿事件发生器。
~~~
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函数中,根据
事件名调用相应的监听器。
如果想绑定多个事件监听器,可以使用 事件名/事件监听器数组 的形式存储。
写这个是为了了解事件发生器的原理,所以这个事件发生器写的不太完善。