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
暂无评论内容