日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript 面向对象编程(工厂模式、构造函数模式、原型模式)

發(fā)布時間:2025/4/16 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript 面向对象编程(工厂模式、构造函数模式、原型模式) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

javascript 面向?qū)ο缶幊?#xff08;工廠模式、構(gòu)造函數(shù)模式、原型模式)

CreateTime--2018年3月29日17:09:38

Author:Marydon

一、工廠模式

/*** 工廠模式*/ function factoryFunction() {// 1.創(chuàng)建一個Object對象(人)var person = new Object();// 或者 var person = {};// 2.對象的屬性(對應(yīng)人的特征)person.name = "Marydon";person.qq = "2982586911";person.website = "www.cnblogs.com/Marydon20170307";// 3.對象的方法(對應(yīng)人的行為)person.operation = function() {alert("正在演示工廠模式"); };return person; }

  調(diào)用:

factoryFunction().operation();

  適用場景:

  個人不推薦使用,因為構(gòu)造函數(shù)模式完全可以取代。?

二、構(gòu)造函數(shù)模式

/*** 構(gòu)造函數(shù)模式* @注意:首字母要大寫,用于和普通函數(shù)區(qū)分*/ function ConstructorFunction() {this.name = "Marydon";this.qq = "2982586911";this.website = "www.cnblogs.com/Marydon20170307";// 這個兩個this指的是同一對象哦!this.operation = function() {alert(this.name); };}

  調(diào)用:

// 創(chuàng)建對象,對象創(chuàng)建后,該對象里面的this指的就是cf var cf = new ConstructorFunction(); cf.operation();// 彈出Marydon

  適用場景:?

  個人比較推薦使用

三、原型模式

/*** 原型模式* @注意:使用前,必須實例化*/ function prototypeFunction() {}; prototypeFunction.prototype.name = "Marydon"; prototypeFunction.prototype.qq = "2982586911"; prototypeFunction.prototype.website = "www.cnblogs.com/Marydon20170307";prototypeFunction.prototype.operation = function() {alert("正在演示原型模式"); };

  調(diào)用:

// 不能這樣直接調(diào)用 // prototypeFunction().operation(); // 必須得先創(chuàng)建這個對象 var pf = new prototypeFunction();

  適用場景:?

   給已經(jīng)存在的對象添加方法時使用

  比如:String對象沒有trim()方法,Date對象沒有format()方法,對其進行自定義封裝時,需要用到。

四、還用一種經(jīng)常使用?

/*** 使用JSONObject創(chuàng)建*/ var jsonObjectFunction = {name :"Marydon",qq : "2982586911",website : "www.cnblogs.com/Marydon20170307",operation : function() {alert("正在演示JSON對象"); }};

  調(diào)用:

// 直接調(diào)用 jsonObjectFunction.operation();

  適用場景:?

   比較典型的就是ajax函數(shù)對象,另外,許多封裝的插件也是使用的這種方式。?

五、結(jié)語

   很多時候需要混合使用,最常見的是:構(gòu)造函數(shù)+原型函數(shù) 模式

?

轉(zhuǎn)載于:https://www.cnblogs.com/Marydon20170307/p/8671419.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的javascript 面向对象编程(工厂模式、构造函数模式、原型模式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。