国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript 中模板方法單例的實現方法

2019-11-19 15:09:34
字體:
來源:轉載
供稿:網友

javascript 中模板方法單例的實現方法

模板方法單例

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

代碼塊

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>';   //創建字符串   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'   }  ]);

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣庄市| 巴林左旗| 平南县| 韶山市| 平武县| 河北省| 新郑市| 萍乡市| 舞阳县| 眉山市| 武鸣县| 岫岩| 固阳县| 泾源县| 中宁县| 扬中市| SHOW| 鄂州市| 嘉峪关市| 马公市| 阳江市| 景东| 绥芬河市| 开原市| 静海县| 丰台区| 海林市| 宁阳县| 南宁市| 潜江市| 左权县| 洛宁县| 江陵县| 仙居县| 鞍山市| 从江县| 本溪| 贵阳市| 尚义县| 富源县| 乐陵市|