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

詳解js產(chǎn)生對象的3種基本方式(工廠模式,構(gòu)造函數(shù)模式,原型模式)

 更新時間:2017年01月09日 09:18:09   作者:三十億少女的夢  
本篇文章主要介紹了js產(chǎn)生對象的3種基本方式(工廠模式,構(gòu)造函數(shù)模式,原型模式) ,具有一定的參考價值,有興趣的可以了解一下

1.工廠模式

工廠模式是軟件工程領(lǐng)域一種廣為人知的設(shè)計模式,而由于在ECMAScript中無法創(chuàng)建類,因此用函數(shù)封裝以特定接口創(chuàng)建對象。其實現(xiàn)方法非常簡單,也就是在函數(shù)內(nèi)創(chuàng)建一個對象,給對象賦予屬性及方法再將對象返回即可。

function a(name){
 var b = new object();
 b.name = name;
 b.say = function(){
  alert(this.name);
 } 
  return b 
}

函數(shù)內(nèi)部產(chǎn)生b對象并返回。 

2.構(gòu)造函數(shù)模式

function Person(name, url) { //注意構(gòu)造函數(shù)名第一個字母大寫
 this.name = name;
 this.url = url;
 this.alertUrl = alertUrl;
}
 
function alertUrl() {
 alert(this.url);
}

因為每構(gòu)造一個對象就會生成一個alertUrl方法,這樣太浪費資源空間,所以把alertUrl這個方法寫在全局以節(jié)省空間,但這樣寫就違背了面向?qū)ο缶幊痰某踔裕旅娴脑湍J骄透靡恍?/p>

3.原型模式

我們創(chuàng)建的每個函數(shù)都有prototype(原型)屬性,這個屬性是一個指針,指向一個對象,而這個對象的用途是包含可以由特定類型的所有實例共享的屬性和方法。使用原型對象的好處就是可以讓所有對象實例共享它所包含的屬性及方法。

function Person(){ 
}

Person.prototype.name = "bill";
Person.prototype.address = "GuangZhou";
Person.sayName = function (){
  alert(this.name); 
}

var person1 = new Person();
var person2 = new Person();
 
//測試代碼
alert(person1.name); // bill
alert(person2.name); // bill
person1.sayName(); //bill
person2.sayName(); //bill

person1.name = "666";

alert(person1.name); // 666
alert(person2.name); // bill
person1.sayName(); //666
person2.sayName(); //bill

我們創(chuàng)建的每個函數(shù)都有prototype(原型)屬性,這個屬性其實是一個指針,指向一個對象。

當構(gòu)造一個person對象例如person1之后,它的默認name屬性就是bill。如果要改name值的話就要對person1.name操作。這只是改了這個對象的name屬性。alert(person1.prototype.name)依然是彈出bill,即原型上的name屬性

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談javascript中的prototype和__proto__的理解

    淺談javascript中的prototype和__proto__的理解

    這篇文章主要介紹了淺談javascript中的prototype和__proto__的理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • uniapp實現(xiàn)tabs切換(可滑動)效果實例

    uniapp實現(xiàn)tabs切換(可滑動)效果實例

    這篇文章主要給大家介紹了關(guān)于uniapp實現(xiàn)tabs切換(可滑動)效果的相關(guān)資料,tabs切換無論是在app端還是小程序或者H5頁面都是很常見的功能,文中通過實例代碼介紹的很詳細,需要的朋友可以參考下
    2023-07-07
  • js實現(xiàn)無縫滾動雙圖切換效果

    js實現(xiàn)無縫滾動雙圖切換效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)無縫滾動雙圖切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 前端實現(xiàn)json動畫詳細過程(附帶示例)

    前端實現(xiàn)json動畫詳細過程(附帶示例)

    這篇文章主要介紹了如何使用Lottie制作動畫,包括創(chuàng)建動畫文件.json、實現(xiàn)效果、在Git倉庫中保存和共享、運行動畫以及在動畫天堂下載和顯示JSON動畫,文中通過代碼及圖文介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • 淺談JS中json數(shù)據(jù)的處理

    淺談JS中json數(shù)據(jù)的處理

    下面小編就為大家?guī)硪黄獪\談JS中json數(shù)據(jù)的處理。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JavaScript框架(iframe)操作總結(jié)

    JavaScript框架(iframe)操作總結(jié)

    這篇文章主要介紹了JavaScript框架(iframe)操作,介紹了種情況下的操作方法,需要的朋友可以參考下
    2014-04-04
  • 如何利用JS判斷整數(shù)x是否是回文數(shù)

    如何利用JS判斷整數(shù)x是否是回文數(shù)

    回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù),下面這篇文章主要給大家介紹了關(guān)于如何利用JS判斷整數(shù)x是否是回文數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • js實現(xiàn)的點擊超鏈顯示隱藏層

    js實現(xiàn)的點擊超鏈顯示隱藏層

    js實現(xiàn)的點擊超鏈顯示隱藏層...
    2007-05-05
  • JS只能輸入正整數(shù)的簡單實例

    JS只能輸入正整數(shù)的簡單實例

    下面小編就為大家?guī)硪黄狫S只能輸入正整數(shù)的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JS實現(xiàn)仿雅虎首頁快捷登錄入口及導(dǎo)航模塊效果

    JS實現(xiàn)仿雅虎首頁快捷登錄入口及導(dǎo)航模塊效果

    這篇文章主要介紹了JS實現(xiàn)仿雅虎首頁快捷登錄入口及導(dǎo)航模塊效果,涉及JavaScript響應(yīng)鼠標事件遍歷頁面元素的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09

最新評論

阳江市| 调兵山市| 周宁县| 德保县| 惠来县| 繁昌县| 定远县| 彝良县| 株洲市| 南和县| 蓬溪县| 苏尼特左旗| 南和县| 海安县| 锦屏县| 阿鲁科尔沁旗| 无棣县| 天水市| 鹤岗市| 凯里市| 惠来县| 湖南省| 西峡县| 建瓯市| 翁牛特旗| 松原市| 木兰县| 延庆县| 旅游| 安图县| 伊宁县| 奉节县| 诸城市| 建宁县| 栾城县| 南澳县| 五原县| 宁阳县| 吉木乃县| 梁平县| 洛浦县|