0
点赞
收藏
分享

微信扫一扫

js实现发布订阅模式

四月天2021 2022-04-16 阅读 74

var shoeObj={}
  shoeObj.list={}
  // 对象里面每一个元素都是对象,里面对象的value为数组
  shoeObj.listen=function(key,fn){
      if(!this.list[key]){
          this.list[key]=[]
      }
      this.list[key].push(fn)
  }
  shoeObj.trigger=function(){

//argument第一个为key
      var key=Array.prototype.shift.call(arguments)
      var fns=this.list[key]
      if(!fns||fns.length==0)return
      for(let i=0,fn;fn=fns[i++]){
          fn.apply(this,arguments)
      }
      
  }

举报

相关推荐

0 条评论