JS观察者模式

观察者模式:也叫订阅模式

A看上一件衣服-----联系卖家-----衣服卖光了(到货通知)

卖家(发布者)卖家(A、B、C订阅者)

1.发布者:麦家

2.发布者添加一个缓存列表(用于存入订阅者回调函数)

3.发布消息,遍历缓存列表,依次触发订阅者回调函数

var obj={};//卖家

obj.list=[];//缓存列表

obj.listen=function(fn){//订阅者信息(增加)

obj.list.push(fn);

};

obj.trigger=function(){//发布消息

for(var i=0;fn=this.list.length;i++){

var fn;

fn=this.list[i];

fn.apply(this.arguments);

}

};

obj.listen(function(color,size){

console.log('姓名'+'小红');

console.log('颜色'+color);

console.log('尺寸'+size);

});

obj.listen(function(color,size){

console.log('姓名'+'小明');

console.log('颜色'+color);

console.log('尺寸'+size);

});

obj.trigger('红色','s');

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值