ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でテンプレート メソッド シングルトンを実装する方法

JavaScript でテンプレート メソッド シングルトンを実装する方法

黄舟
黄舟オリジナル
2017-10-18 10:56:301129ブラウズ

この記事は、JavaScript のテンプレート メソッド シングルトンの実装方法に関する関連情報を主に紹介します。この記事が、必要な方の参考になれば幸いです。

JavaScript のテンプレート メソッド シングルトンの実装方法

メソッドsingleton

テンプレートメソッドの定義: 親クラスで一連の操作アルゴリズムのスケルトンを定義し、一部の実装手順をサブクラスに拡張して、サブクラスが親クラスのアルゴリズム構造を変更せずにアルゴリズムを再定義できるようにします。実装手順。

コードブロック

html部分、例:


<p id="content"></p>

js部分、例:


  //格式化字符串方法
  function fromateString(str, data) {
   return str.replace(/\{#(\w+)#\}/g, function(match, key){
    return typeof data[key] === undefined ? &#39;&#39; : data[key]
   });
  }
  //基础导航
  var Nav = function (data) {
   //基础导航样式模板
   this.item = &#39;<a href="{#href#}" rel="external nofollow" title="{#title#}">{#name#}</a>&#39;;
   //创建字符串
   this.html=&#39;&#39;;
   for (var i = 0; i < data.length; i++) {
    this.html += fromateString(this.item, data[i]);
   }
   return this.html;
  }
  //带有信息提示信息导航
  var NumNav = function (data) {
   //消息提醒小心组件模板
   var tpl = &#39;<p>{#num#}</p>&#39;;
   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 = &#39;<span>{#link#}</span>&#39;;
   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(&#39;content&#39;);
  nav.innerHTML = NumNav([
   {
    href : &#39;www.baidu.com&#39;,
    title : &#39;百度一下你就知道&#39;,
    name : &#39;百度&#39;,    
    num : 10,
    link : &#39;www.baidu.com&#39;
   },
   {
    href : &#39;www.taobao.com&#39;,
    title : &#39;淘宝商城&#39;,
    name : &#39;淘宝&#39;,    
    num : 2,
    link : &#39;www.taobao.com&#39;
   },
   {
    href : &#39;www.qq.com&#39;,
    title : &#39;腾讯首页&#39;,
    name : &#39;腾讯&#39;,    
    num : 3,
    link : &#39;www.qq.com&#39;
   }
  ]);

実際、テンプレートメソッドパターンはコンポーネントを正規化するときだけでなく、時にはよく使われるページの作成。上記のコードは、静的ページのカプセル化とビジネス ロジックの対話型カプセル化を導出できます。

以上がJavaScript でテンプレート メソッド シングルトンを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。