大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关js设计模式之代理模式及订阅发布模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联专业为企业提供西工网站建设、西工做网站、西工网站设计、西工网站制作等企业网站建设、网页设计与制作、西工企业网站模板建站服务,十多年西工做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。1,代理模式,只是学习了虚拟代理以及缓存代理,具体案例
1)虚拟代理
//业务代码 var myImage = (function() { var imgNode = document.createElement("img"); document.body.appendChild(imgNode); return { setSrc: function(src) { console.log(1111); imgNode.src = src; } } })(); // 设计模式代码 var ProxyImage = (function() { var img = new Image(); //这个img只是用来判断图片是否加载完成,加载完成之后修改图片链接 img.onload = function() { console.log(this); myImage.setSrc(this.src); }; return { setSrc: function(src) { console.log(22); myImage.setSrc("http://img.lanrentuku.com/img/allimg/1212/5-121204193Q9-50.gif"); img.src = src; } } })();
这个例子好吧,拿来主义。说一下自己的理解:上面的业务代码实现的是将一个图片dom插入到dom树之中,代理模式则是通过创建一个新的img元素,通过判断onload判断是否加载完成,然后替换原有链接。
2)下面是缓存代理:
运行结果:
就是利用闭包实现原有计算数据的缓存。
2,订阅发布模式
运行结果:
本质上,上述的发布订阅只是一个数组的增删改查。缓存下增删改查。
关于“js设计模式之代理模式及订阅发布模式的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。