最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript設(shè)計(jì)模式 – 原型模式原理與應(yīng)用實(shí)例分析

 更新時(shí)間:2020年04月10日 08:33:35   作者:李小強(qiáng)  
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 原型模式,結(jié)合實(shí)例形式分析了javascript原型模式相關(guān)概念、原理、應(yīng)用場景及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了javascript設(shè)計(jì)模式 – 原型模式原理與應(yīng)用。分享給大家供大家參考,具體如下:

介紹:在日常的開發(fā)過程中,我們經(jīng)常會(huì)利用到前端模板引擎來做頁面渲染,因?yàn)榇嬖诤芏囗撁娼Y(jié)構(gòu)相同,內(nèi)容不同的場景。這種場景在js層面也會(huì)遇到,

很多組件存在相同或者類似,重復(fù)的創(chuàng)建會(huì)導(dǎo)致系統(tǒng)的消耗,這就要用到原型模式了。將相似內(nèi)容提取出來作為原型類,創(chuàng)建具體類時(shí)需要對(duì)原型類進(jìn)行復(fù)制然后擴(kuò)展。

需要注意的是,復(fù)制出來的對(duì)象在進(jìn)行修改時(shí)不會(huì)影響到原型類,二者相互獨(dú)立。

定義:使用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過克隆這些原型創(chuàng)建新的對(duì)象。原型模式是一種對(duì)象創(chuàng)建型模式。

場景:我們還是基于Dialog類來實(shí)現(xiàn)原型模式,我將所有彈窗共有的屬性方法抽取出來,每次創(chuàng)建時(shí)通過復(fù)制其基礎(chǔ)屬性,在此基礎(chǔ)上進(jìn)行完善,然后返回新的對(duì)象。

示例:

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>

原型模式總結(jié):

優(yōu)點(diǎn):
* 當(dāng)創(chuàng)建新的對(duì)象實(shí)例較為復(fù)雜時(shí),使用原型模式可以簡化對(duì)象的創(chuàng)建過程,通過復(fù)制一個(gè)已有實(shí)例可以提高新實(shí)例的創(chuàng)建效率。
* 擴(kuò)展性較好

缺點(diǎn):
* 對(duì)已有類進(jìn)行改造時(shí)需要修改源代碼,違背了開關(guān)原則。

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

忻州市| 尼木县| 正定县| 永宁县| 上虞市| 登封市| 曲麻莱县| 虹口区| 太保市| 方正县| 泰兴市| 隆林| 湛江市| 中山市| 恩施市| 嘉兴市| 漳平市| 调兵山市| 武鸣县| 义乌市| 临江市| 微山县| 北京市| 黎城县| 万荣县| 凤冈县| 响水县| 长子县| 封开县| 乌审旗| 庆阳市| 株洲市| 哈密市| 德庆县| 阿合奇县| 元阳县| 永康市| 江北区| 大丰市| 灵武市| 栾城县|