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

javascript 中模板方法單例的實現(xiàn)方法

 更新時間:2017年10月17日 09:25:16   作者:res_min  
這篇文章主要介紹了javascript 中模板方法單例的實現(xiàn)方法的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下

javascript 中模板方法單例的實現(xiàn)方法

模板方法單例

模板方法的定義:父類中定義一組操作算法骨架,將一些實現(xiàn)步驟延伸到子類中,使得子類可以不改變父類的算法結構的同時可重新定義算法中某些實現(xiàn)步驟。

代碼塊

html部分,例如:

<div id="content"></div>

js部分,例如:

  //格式化字符串方法
  function fromateString(str, data) {
   return str.replace(/\{#(\w+)#\}/g, function(match, key){
    return typeof data[key] === undefined ? '' : data[key]
   });
  }
  //基礎導航
  var Nav = function (data) {
   //基礎導航樣式模板
   this.item = '<a href="{#href#}" rel="external nofollow" title="{#title#}">{#name#}</a>';
   //創(chuàng)建字符串
   this.html='';
   for (var i = 0; i < data.length; i++) {
    this.html += fromateString(this.item, data[i]);
   }
   return this.html;
  }
  //帶有信息提示信息導航
  var NumNav = function (data) {
   //消息提醒小心組件模板
   var tpl = '<p>{#num#}</p>';
   for (var i = data.length -1; i >= 0; i--) {
    data[i].name += data[i].name + fromateString(tpl, data[i]);
   }
   return Nav.call(this, data);
  }
  //帶有鏈接地址的導航
  var LinkNav = function (data) {
   //消息提醒小心組件模板
   var tpl = '<span>{#link#}</span>';
   for (var i = data.length -1; i >= 0; i--) {
    data[i].name += data[i].name + fromateString(tpl, data[i]);
   }
   return Nav.call(this, data);
  }

  //測試帶有信息提示的導航
  var nav = document.getElementById('content');
  nav.innerHTML = NumNav([
   {
    href : 'www.baidu.com',
    title : '百度一下你就知道',
    name : '百度',    
    num : 10,
    link : 'www.baidu.com'
   },
   {
    href : 'www.taobao.com',
    title : '淘寶商城',
    name : '淘寶',    
    num : 2,
    link : 'www.taobao.com'
   },
   {
    href : 'www.qq.com',
    title : '騰訊首頁',
    name : '騰訊',    
    num : 3,
    link : 'www.qq.com'
   }
  ]);

其實模板方法模式不僅僅在我們歸一化組件的時候使用 有時候創(chuàng)建頁面時也是很常用到的。通過上述代碼可以衍生出的靜態(tài)頁面的封裝以及業(yè)務邏輯的交互封裝。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • js實現(xiàn)圖片加載淡入淡出效果

    js實現(xiàn)圖片加載淡入淡出效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)圖片加載淡入淡出效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • javascript簡單實現(xiàn)跟隨滾動條漂浮的返回頂部按鈕效果

    javascript簡單實現(xiàn)跟隨滾動條漂浮的返回頂部按鈕效果

    這篇文章主要介紹了javascript簡單實現(xiàn)跟隨滾動條漂浮的返回頂部按鈕效果,涉及javascript基于onscroll事件動態(tài)改變頁面元素樣式的相關技巧,需要的朋友可以參考下
    2016-08-08
  • 老生常談jacascript DOM節(jié)點獲取

    老生常談jacascript DOM節(jié)點獲取

    下面小編就為大家?guī)硪黄仙U刯acascript DOM節(jié)點獲取。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • js的函數(shù)的按值傳遞參數(shù)(實例講解)

    js的函數(shù)的按值傳遞參數(shù)(實例講解)

    下面小編就為大家分享一篇js的函數(shù)的按值傳遞參數(shù)的實例,具有很好的參考價值,一起跟隨小編過來看看吧,希望對大家有所幫助
    2017-11-11
  • javascript fullscreen全屏實現(xiàn)代碼

    javascript fullscreen全屏實現(xiàn)代碼

    用了實現(xiàn)打開一個滿屏的代碼
    2009-04-04
  • 小試SVG之新手小白入門教程

    小試SVG之新手小白入門教程

    這篇文章主要給大家介紹了關于SVG的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • JS常用正則表達式總結【經(jīng)典】

    JS常用正則表達式總結【經(jīng)典】

    這篇文章主要介紹了JS常用正則表達式,總結分析了常見的數(shù)字、字符、郵箱、身份證、電話等的正則驗證技巧,需要的朋友可以參考下
    2017-05-05
  • layer ui插件顯示tips時,修改字體顏色的實現(xiàn)方法

    layer ui插件顯示tips時,修改字體顏色的實現(xiàn)方法

    今天小編就為大家分享一篇layer ui插件顯示tips時,修改字體顏色的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信JS接口大全

    微信JS接口大全

    這篇文章主要為大家分享了最全面詳細的微信JS接口大全,希望對大家有幫助,感興趣的小伙伴們可以參考一下
    2016-08-08
  • javascript中的面向對象

    javascript中的面向對象

    本文主要介紹了javascript中面向對象的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03

最新評論