设计模式

发布时间 2023-11-28 10:40:50作者: howhy
var observer={
  list:[],
  subscribe:function(key,fn){
    if(!this.list[key]){
      this.list[key]=[]
    }
    this.list[key].push(fn)
  },
  publish:function(){
    const key=arguments[0]
    this.list[key].forEach(fn => {
      fn.apply(this,arguments);
    });
  }
}
observer.subscribe('huawei',function(brand,model){
  console.log(brand,model)
})
observer.subscribe('xiaomi',function(brand,model){
  console.log(brand,model)
})
observer.publish('huawei','p5011')
observer.publish('xiaomi','mi14')
observer.publish('xiaomi','mi13')