ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptのテンプレートメソッドシングルトン
この記事は主にJavaScriptのテンプレートメソッドシングルトンの実装方法に関する情報を紹介していますので、困っている方の参考になれば幸いです。
JavaScriptでのテンプレートメソッドシングルトンの実装方法
テンプレートメソッドシングルトン
テンプレートメソッドの定義: 親クラスで操作アルゴリズムのスケルトンのセットを定義し、いくつかの実装手順をサブクラスに拡張して、サブクラスがクラスは、親クラスのアルゴリズム構造を変更せずに、アルゴリズムの一部の実装ステップを再定義できます。
コードブロック
html部分、例:
<p id="content"></p>
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' } ]);
実際、テンプレートメソッドパターンはコンポーネントを正規化するときだけでなく、時にはよく使われるページの作成。上記のコードは、静的ページのカプセル化とビジネス ロジックの対話型カプセル化を導出できます。
関連する推奨事項:
Java クラシック設計パターンのテンプレート メソッド パターンの定義と使用法に関するコード例
以上がJavaScriptのテンプレートメソッドシングルトンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。