0
点赞
收藏
分享

微信扫一扫

Event类的简单实现


写一个Event类,实现事件的​​绑定(on方法)​​​,​​调用(trigger方法)​​​,
​​​解绑(off方法)​​,on可以多次绑定事件,每个事件都可以被单独触发,被单独解绑,请手写代码。

class Event {
constructor(){
this.obj = {}
}

on(name, callback) {
if(!this.obj[name]){
this.obj[name] = [callback];
}else {
this.obj[name].push(callback);
}
}

trigger(name) {
if(!this.obj[name]){
console.error('not exist attribute.');
}else {
// 运用打印1到10的问题
for(let i=0; i<this.obj[name].length; i++) {
this.obj[name][i]();
}
}
}

off(name){
if(!this.obj[name]){
console.error('not exist attribute.');
}else {
this.obj[name] = null;
}
}
}


const event = new Event();


event.on('test', function(){
console.log('test1');
})

event.on('test', function(){
console.log('test2');
})

event.on('test', function(){
console.log('test3');
})


event.trigger('test');


举报

相关推荐

0 条评论