欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

輕松掌握JavaScript代理模式

 更新時間:2016年08月26日 08:45:07   作者:蘇福  
這篇文章主要幫助大家輕松掌握JavaScript代理模式,什么是代理模式?代理的用途,感興趣的小伙伴們可以參考一下

在面向?qū)ο笤O計中,有一個單一職責原則,指就一個類(對象、函數(shù))而言,應該僅有一個引起它變化的原因。如果一個對象承擔了過多的職責,就意味著它將變得巨大,引起它變化的原因就多,它把這些職責耦合到了一起,這種耦合會導致程序難于維護和重構(gòu)。 

這時候,我們可以把該對象(本體)的其中一部分職責分離出來給一些第三方對象去做,本體只管自己的一些核心職責,這些第三方對象就稱作代理。代理對象可以作為對象(也叫“真正的主體”)的保護者,讓真正的主體對象做盡量少的工作。在代理設計模式中,一個對象充當了另一個對象的接口的角色。 

通常代理和本體的接口應該保持一致性,這樣當不需要代理的時候,用戶可直接訪問本體。 

當我們不方便直接訪問一個對象時,就可以考慮給該對象招一個代理。 

代理可用于:圖片預加載、合并HTTP請求(代理收集一定時間內(nèi)的所有HTTP請求,然后一次性發(fā)給服務器)、惰性加載(通過代理處理和收集一些基本操作,然后僅在真正需要本體的時候才加載本體)、緩存代理(緩存請求結(jié)果、計算結(jié)果)等

例子1:圖片預加載

 var myImage = (function(){
 var imgNode = document.createElement('img');
 document.body.appendChild(imgNode);
 return {
  setSrc:function(src){
   imgNode.src = src;
  }
 }
})();
//代理函數(shù)
var proxyImage = (function(){
 var img = new Image;
 img.onload = function(){
  myImage.setSrc(this.src);
 }
 return{
  setSrc:function(src){
   myImage.setSrc('loading.gif');
   img.src = src;
  }
 }
})();

proxyImage.setSrc('show.jpg');

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序工具函數(shù)封裝

    微信小程序工具函數(shù)封裝

    這篇文章主要為大家詳細介紹了微信小程序工具函數(shù)封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS實現(xiàn)身份證輸入框的輸入效果

    JS實現(xiàn)身份證輸入框的輸入效果

    這篇文章主要介紹了JS實現(xiàn)身份證輸入框的輸入效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-08-08
  • 前端進階JS數(shù)組高級用法大全教程示例

    前端進階JS數(shù)組高級用法大全教程示例

    這篇文章主要為大家介紹了前端進階JS數(shù)組高級用法教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Javascript DOM的簡介,節(jié)點和獲取元素詳解

    Javascript DOM的簡介,節(jié)點和獲取元素詳解

    下面小編就為大家分享一篇詳談DOM的簡介,節(jié)點和獲取元素,具有非常好的參考價值,一起跟隨小編過來看看吧,希望對大家有所幫助
    2021-11-11
  • JS實現(xiàn)滑動條案例

    JS實現(xiàn)滑動條案例

    這篇文章主要為大家詳細介紹了JS實現(xiàn)滑動條案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS 參數(shù)傳遞的實際應用代碼分析

    JS 參數(shù)傳遞的實際應用代碼分析

    在項目中,有一個Ajax加載的區(qū)域,是一個Div標簽,id為msg_box,這個控制鏈接包含在一個左側(cè)的導航中,當從其他頁面鏈接到這個頁面時,該JS代碼就失效了。
    2009-09-09
  • JS使用插件cryptojs進行加密解密數(shù)據(jù)實例

    JS使用插件cryptojs進行加密解密數(shù)據(jù)實例

    這篇文章主要介紹了JS使用插件cryptojs進行加密解密數(shù)據(jù),結(jié)合完整實例形式分析了javascript基于加密插件實現(xiàn)加密解密功能的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • 一個js的tab切換效果代碼[代碼分離]

    一個js的tab切換效果代碼[代碼分離]

    看了此文(YUI實現(xiàn)的Tab 切換),有感而發(fā),寫了一個tab切換的函數(shù),做學習之用。原生js實現(xiàn),因為框架不好玩。
    2010-04-04
  • JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a

    JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a

    這篇文章主要介紹了JS實現(xiàn)簡易的圖片拖拽排序?qū)嵗a,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • javascript對select標簽的控制(option選項/select)

    javascript對select標簽的控制(option選項/select)

    html中的select標簽,也是asp.net中的asp:DropDownList控件,接下來介紹javascript對select標簽的控制,感興趣的朋友可以了解下,或許本文對你有所幫助
    2013-01-01

最新評論