观察者模式:也叫订阅模式
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');