最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript設(shè)計(jì)模式--橋梁模式引入操作實(shí)例分析

 更新時(shí)間:2020年05月23日 09:17:42   作者:WFaceBoss  
這篇文章主要介紹了JavaScript設(shè)計(jì)模式--橋梁模式,結(jié)合實(shí)例形式分析了JavaScript設(shè)計(jì)模式中橋梁模式應(yīng)用操作技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了JavaScript設(shè)計(jì)模式--橋梁模式引入操作。分享給大家供大家參考,具體如下:

1.使用情況

(1)事件的監(jiān)控

#1,利用頁(yè)面的button來(lái)選擇寵物的例子(思路)

button.addEvent(element,"click",getPetByBame);
  function getPetByBame(e){
    var id = this.id;
    asyncRquest("GET",'pet.action?id='+id,function(pet){
      consols.log("request pet"+pet.resopnseText)
    })
  }

#2,addEvent函數(shù)

/*obj:需要增加事件的對(duì)象
* type:事件名稱
* fn:執(zhí)行事件的函數(shù)
* */
function addEvent(obj,type,fn){//addEvent:為某個(gè)文檔節(jié)點(diǎn)增加事件的方法
  if(obj.addEventListener){//Mozilla中:
    obj.addEventListener(type,fn,false);
  }else if(obj.attachEvent){//IE中:
    obj["e"+type+fn] = fn;
    obj[type+fn] = function(){
      obj["e"+type+fn]()
    }
    obj.attachEvent("on"+type,fn)
  }
}

總結(jié):該種方式對(duì)于單元測(cè)試很難進(jìn)行

改進(jìn)為用簡(jiǎn)單的橋梁模式來(lái)解決

#1,后臺(tái)中的api

function getPetByBame(id,callBack){
    sayncRquest("GET",'url?id='+id,function(pet){
      callBack(pet)
    })

#2,橋梁

//定義一個(gè)橋梁叫抽象和實(shí)現(xiàn)相互聯(lián)系在一起
  addEvent(element,"click",getPetByNameBridge)
  function getPetByNameBridge(){
    getPetByBame(this.id,function(pet){
      consols.log("request pet"+pet.resopnseText);
    })
  }

總結(jié):這種做法使API和展現(xiàn)層完全分離,API和展現(xiàn)層可以靈活的變動(dòng)。

(2)特權(quán)函數(shù)

//特權(quán)函數(shù)
var privilege=function () {
  //信息全封閉,內(nèi)部業(yè)務(wù)邏輯復(fù)雜,做成一個(gè)特權(quán)函數(shù),使調(diào)用方便
  var complex=function (x,y) {
    //復(fù)雜的數(shù)學(xué)處理
  }

 this.bridge=function () { //提供公共接口,返回一個(gè)單體
   return {
     bridgeAdd:function () {
       //處理前
       complex(1,2);
       //處理后
     }

   }
 }
}

(3)多個(gè)類的連接

//多個(gè)類的連接
var class1=function (a,b) {
  this.a=a;
  this.b=b;
}
  var class2=function (e) {
    this.e=e;
  }
  //橋梁的連接
  var bridgeClass=function () {
    this.one=new Class1(1,2);
    this.two=new Class1(1);
  }
//目的:兩個(gè)類能獨(dú)立的修改,而門面的意義在于調(diào)用方便

橋梁模式:

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • require.js 加載過程與使用方法介紹

    require.js 加載過程與使用方法介紹

    require.js是javascript模塊化編程中常用的一個(gè)JS庫(kù)。這篇文章主要介紹了require.js 加載過程與使用方法,需要的朋友可以參考下
    2018-10-10
  • 微信小程序?qū)崿F(xiàn)文本輸入彈窗

    微信小程序?qū)崿F(xiàn)文本輸入彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)文本輸入彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript實(shí)現(xiàn)的聯(lián)動(dòng)菜單特效示例

    JavaScript實(shí)現(xiàn)的聯(lián)動(dòng)菜單特效示例

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的聯(lián)動(dòng)菜單特效,涉及javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • 微信小程序?qū)崿F(xiàn)吸頂特效

    微信小程序?qū)崿F(xiàn)吸頂特效

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)吸頂特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 利用JavaScript控制元素(標(biāo)簽)的顯示與隱藏

    利用JavaScript控制元素(標(biāo)簽)的顯示與隱藏

    這篇文章主要給大家介紹了關(guān)于如何利用JavaScript控制元素(標(biāo)簽)的顯示與隱藏的相關(guān)資料,JavaScript有多種方式可以實(shí)現(xiàn),文中介紹了三種方法以及區(qū)別,需要的朋友可以參考下
    2023-07-07
  • JavaScript的arguments對(duì)象應(yīng)用示例

    JavaScript的arguments對(duì)象應(yīng)用示例

    使用特殊對(duì)象 arguments,開發(fā)者無(wú)需明確指出參數(shù)名,就能訪問它們,下面為大家介紹下其具體的應(yīng)用
    2014-09-09
  • 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記二:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法分析

    《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記二:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法分析

    這篇文章主要介紹了Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法,結(jié)合實(shí)例形式分析了《javascript設(shè)計(jì)模式》中JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • js加載讀取內(nèi)容及顯示與隱藏div示例

    js加載讀取內(nèi)容及顯示與隱藏div示例

    這篇文章主要介紹了js加載讀取內(nèi)容及顯示與隱藏div的方法,需要的朋友可以參考下
    2014-02-02
  • IE和Firefox下event事件雜談

    IE和Firefox下event事件雜談

    如果在使用javascript的時(shí)候涉及到event處理,就需要知道event在不同的瀏覽器中的差異。
    2009-12-12
  • javascript垃圾收集機(jī)制的原理分析

    javascript垃圾收集機(jī)制的原理分析

    javascript具有自動(dòng)垃圾收集機(jī)制,執(zhí)行環(huán)境會(huì)負(fù)責(zé)管理代碼執(zhí)行過程中使用的內(nèi)存。在編寫javascript程序時(shí),開發(fā)人員不用再關(guān)心內(nèi)存使用問題,所需內(nèi)存的分配以及無(wú)用內(nèi)存的回收完全實(shí)現(xiàn)了自動(dòng)管理。本文將詳細(xì)介紹javascript的垃圾收集機(jī)制
    2016-12-12

最新評(píng)論

栾城县| 钟山县| 八宿县| 兴国县| 邵阳市| 都昌县| 宝山区| 上饶县| 宜阳县| 银川市| 皮山县| 阿尔山市| 栾川县| 鄂温| 峨边| 郁南县| 荔波县| 萍乡市| 宜都市| 云霄县| 隆回县| 永仁县| 乐亭县| 恩施市| 南宫市| 岚皋县| 虹口区| 虹口区| 抚州市| 亳州市| 铜梁县| 景洪市| 威远县| 永平县| 大同市| 永新县| 定襄县| 阳东县| 阿勒泰市| 睢宁县| 台中市|