//观察者设计模式//发布者 -->商家var shopobj = {};//商品列表 [key:[]], key为商品名shopobj.list = [];//订阅方法shopobj.listen = function ( key, fn) {// key是商品型号, fn这个函数就是订阅的行为 if (!this.list[key]) { this.list[key] = []; } this.list[key].push(fn);//往商品名为key的商品列表中添加订阅}//发布消息方法shopobj.publish = function (key) { //var key = arguments[0];//如果不传参数key,这样也可以 var fns = this.list[key]; // for (var i = 0; i < fns.length; i++) { for(var i = 0 ,fn; fn = fns[i++];){ //执行订阅的函数fn arguemnts储存的所有实参 // var fn = fns[i++]; fn.apply(this, arguments) }}//a用户添加订阅shopobj.listen("华王俊凯最新图片为", function (brand, model) { console.log( "a用户收到:" + brand + model + "手机降价了");})//b用户添加订阅shopoballoonbj.listen("华为", function (brand, model) { console.log("b用户收到:" + brand + model + "手机降价了");})//c用户添加订阅shopobj.listen("小米", function (brand, model) { console.log("c用户收到:" + brand + model + "手机降价了");})//双11 商家发布消息华为降价的信息shopobj.publish("华为", "p30");shopobj.publish("小米", "mix4");
//观察者设计模式var eevent = 许巍 旅行{ //商品列表 [key:[]], key为商品名 list: [], //订阅方法 listen: function (key, fn) {// key是商品型号, fn这个函数就是订阅的六年级视频行为 if (!this.list[key]) { this.list[key] = []; } this.list[key].push(fn); }, //发布消息方法 publish: function (key) { //var key = arguments[0];//如果不传参数key,这样也可以 var fns = this.list[key]; // for (var i = 0; i < fns.length; i++) { for (var i = 0, fn; fn = fns[i++];) { //执行订阅的函数fn arguemnts储存的所有实参 // var fn = fns[i++]; fn.apply(this, arguments) } }}//观察者对象初始化var initevent = function (obj) { for (var i in eevent) { obj[i] = eevent[i]; }}//发布者 -->商家var shopobj = {};initevent(shopobj);//a用户添加订阅shopobj.listen("华为", function (brand, model) { console.log("a用户收到:" + brand + model + "手机降价了");})//b用户添加订阅shopobj.listen("华为", function (brand, model) { console.log("b用户收到送钱穆父:" + brand + model + "手机降价了");})//c用户添加订阅shopobj.listen("小米", function (brand, model) { console.log("c用户收到:" + brand + model + "手机降价了");})//双11 商家发布消息华为降价的信息shopobj.publish("华为", "p30");shopobj.publish("小米", "mix4");
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!
本文发布于:2023-04-04 00:00:35,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/6153873c64e4cdc41f4056697b56ce44.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:手把手教你用Javascript实现观察者模式.doc
本文 PDF 下载地址:手把手教你用Javascript实现观察者模式.pdf
留言与评论(共有 0 条评论) |