91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-13 03:09:18 來源:腳本之家 閱讀:141 作者:res_min 欄目:web開發

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'
   }
  ]);

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石楼县| 太和县| 育儿| 翁源县| 贡觉县| 城市| 和硕县| 洛扎县| 云阳县| 彭山县| 全椒县| 金山区| 安多县| 乾安县| 隆昌县| 山阳县| 惠安县| 保康县| 库尔勒市| 旌德县| 金乡县| 红河县| 广平县| 来安县| 盖州市| 辽宁省| 五常市| 贵南县| 谢通门县| 临潭县| 南雄市| 建瓯市| 鄂托克旗| 图片| 宁南县| 海宁市| 北辰区| 揭阳市| 宣化县| 徐闻县| 洛浦县|