新聞中心
這篇文章將為大家詳細(xì)講解有關(guān)js設(shè)計(jì)模式之代理模式及訂閱發(fā)布模式的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、崇信網(wǎng)站維護(hù)、網(wǎng)站推廣。
1,代理模式,只是學(xué)習(xí)了虛擬代理以及緩存代理,具體案例
1)虛擬代理
//業(yè)務(wù)代碼 var myImage = (function() { var imgNode = document.createElement("img"); document.body.appendChild(imgNode); return { setSrc: function(src) { console.log(1111); imgNode.src = src; } } })(); // 設(shè)計(jì)模式代碼 var ProxyImage = (function() { var img = new Image(); //這個(gè)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; } } })();
這個(gè)例子好吧,拿來主義。說一下自己的理解:上面的業(yè)務(wù)代碼實(shí)現(xiàn)的是將一個(gè)圖片dom插入到dom樹之中,代理模式則是通過創(chuàng)建一個(gè)新的img元素,通過判斷onload判斷是否加載完成,然后替換原有鏈接。
2)下面是緩存代理:
運(yùn)行結(jié)果:
就是利用閉包實(shí)現(xiàn)原有計(jì)算數(shù)據(jù)的緩存。
2,訂閱發(fā)布模式
運(yùn)行結(jié)果:
本質(zhì)上,上述的發(fā)布訂閱只是一個(gè)數(shù)組的增刪改查。緩存下增刪改查。
關(guān)于“js設(shè)計(jì)模式之代理模式及訂閱發(fā)布模式的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
標(biāo)題名稱:js設(shè)計(jì)模式之代理模式及訂閱發(fā)布模式的示例分析
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/jjccpc.html