av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript設計模式 ? 原型模式原理與應用實例分析

瀏覽:4日期:2023-11-04 17:44:30

本文實例講述了javascript設計模式 ? 原型模式原理與應用。分享給大家供大家參考,具體如下:

介紹:在日常的開發過程中,我們經常會利用到前端模板引擎來做頁面渲染,因為存在很多頁面結構相同,內容不同的場景。這種場景在js層面也會遇到,

很多組件存在相同或者類似,重復的創建會導致系統的消耗,這就要用到原型模式了。將相似內容提取出來作為原型類,創建具體類時需要對原型類進行復制然后擴展。

需要注意的是,復制出來的對象在進行修改時不會影響到原型類,二者相互獨立。

定義:使用原型實例指定創建對象的種類,并且通過克隆這些原型創建新的對象。原型模式是一種對象創建型模式。

場景:我們還是基于Dialog類來實現原型模式,我將所有彈窗共有的屬性方法抽取出來,每次創建時通過復制其基礎屬性,在此基礎上進行完善,然后返回新的對象。

示例:

var Dialog = function(){ this.init = function(arg){ this.element = arg.element; this.name = arg.name; } this.show = function(){ console.log(this.name + ’ is show -> ’ + this.element); }};var createDialog = function(arg){ var _dialog = function(){}; _dialog.prototype = new Dialog(); var resDia = new _dialog(); resDia.init(arg); return resDia; }var notice = createDialog({name:’notice’,element:’<div>notice</div>’});var toast = createDialog({name:’toast’,element:’<div>toast</div>’});var warnin = createDialog({name:’warnin’,element:’<div>warnin</div>’}); notice.show(); //notice is show -> <div>notice</div>toast.show(); //toast is show -> <div>toast</div>warnin.show(); //warnin is show -> <div>warnin</div>

原型模式總結:

優點:* 當創建新的對象實例較為復雜時,使用原型模式可以簡化對象的創建過程,通過復制一個已有實例可以提高新實例的創建效率。* 擴展性較好

缺點:* 對已有類進行改造時需要修改源代碼,違背了開關原則。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美久久视频 | 天堂影院av | 羞羞网站入口 | 日韩视频在线观看 | 欧美综合一区 | aaaaa毛片 | 五月激情丁香 | 久久精品一 | 免费国产视频 | 中文字幕在线看 | www.亚洲视频| a视频在线观看 | 成人欧美一区二区三区黑人孕妇 | 亚洲视频在线视频 | 精品福利在线观看 | 免费黄色大片 | 一区二区三区在线免费 | 婷婷午夜天 | 国产一区二区三区免费播放 | 午夜精品久久久久久久久久蜜桃 | 手机在线免费看av | 最新国产精品 | 国产成人黄色 | 亚洲欧美日韩精品 | 国内av在线| 六月丁香综合 | 亚洲午夜视频 | 福利片在线观看 | 欧美黄色一级视频 | 国产欧美精品 | 伊人在线| 欧洲精品一区二区 | 综合二区 | 亚洲综合第一页 | 日韩av在线看 | 亚洲精品午夜 | 香蕉视频久久 | 91在线网站| 在线精品一区 | 成人免费毛片网站 | 国产欧美在线 |