
1、指定谁是发布者。
2、给发布者添加一个缓存列表来存储回调,以便通知订阅者。
3、发布消息时,发布者会遍历这个列表,依次触发存储在其中的订阅者回调函数。
实例
constsalesOffices={}//定义售楼处
salesOffices.clientList=[]//缓存列表,存放订阅者的回调函数
salesOffices.listen=function(fn){//增加订阅者
this.clientList.push(fn)//添加进缓存列表
}
salesOffices.trigger=function(){//发布消息
for(leti=0,fn;fn=this.clientList[i++];){
fn.apply(this,arguments)//arguments是发布消息时带上的参数
}
}
//测试
salesOffices.listen((price,squareMeter)=>{//小明订阅消息
console.log('价格='+price)
console.log('squareMeter='+squareMeter)
})
salesOffices.listen((price,squareMeter)=>{//小红订阅消息
console.log('价格='+price)
console.log('squareMeter='+squareMeter)
})
salesOffices.trigger(2000000,88)
salesOffices.trigger(3000000,110)
以上就是js自定义事件的实现,希望对大家有所帮助。更多js学习指路:js教程
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















































暂无评论内容