国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js面向?qū)ο?組合使用構(gòu)造函數(shù)模式和原型模式(使用最廣泛、認(rèn)同度最高)

DevTTL / 1561人閱讀

摘要:組合使用構(gòu)造函數(shù)模式和原型模式構(gòu)造函數(shù)模式用于定義實(shí)例屬性原型模式用于定義方法和共享的屬性優(yōu)點(diǎn)每個實(shí)例都有自己的實(shí)例屬性的副本,但同時(shí)共享對方法的引用,最大限度的節(jié)省內(nèi)存

組合使用構(gòu)造函數(shù)模式和原型模式

構(gòu)造函數(shù)模式用于定義實(shí)例屬性
原型模式用于定義方法和共享的屬性

優(yōu)點(diǎn):每個實(shí)例都有自己的實(shí)例屬性的副本,但同時(shí)共享對方法的引用,最大限度的節(jié)省內(nèi)存

function Person(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
    this.friends = ["Shelby", "Court"];
}
Person.prototype = {
    constructor: Person,
    sayName: function () {
        alert(this.name);
    }
};
var person1 = new Person("wwl1", 24, "java");
var person2 = new Person("wwl2", 25, "android");
person1.friends.push("Van");
alert(person1.friends); //"Shelby,Count,Van"
alert(person2.friends); //"Shelby,Count"
alert(person1.sayName === person2.sayName); //true

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96956.html

相關(guān)文章

  • JS面向對象的程序設(shè)計(jì)_創(chuàng)建對象組合使用模式-2

    摘要:組合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建自定義類型的最常見方式,就是組合使用構(gòu)造函數(shù)模式與原型模式。也就是說,寄生構(gòu)造函數(shù)模式下,構(gòu)造函數(shù)創(chuàng)建的對象與在構(gòu)造函數(shù)外創(chuàng)建的對象沒有什么不同。 前言 最近在細(xì)讀Javascript高級程序設(shè)計(jì),對于我而言,中文版,書中很多地方翻譯的差強(qiáng)人意,所以用自己所理解的,嘗試解讀下。如有紕漏或錯誤,會非常感謝您的指出。文中絕大部分內(nèi)容引用自《JavaScri...

    xuexiangjys 評論0 收藏0
  • js面向對象淺析---對象創(chuàng)建的幾種常見方式

    摘要:前言雖然使用構(gòu)造函數(shù)或者使用對象字面量可以很方便的用來創(chuàng)建一個對象,但這種方式有一個明顯的缺點(diǎn)使用一個接口創(chuàng)建多個對象會產(chǎn)生很多冗余的代碼。即調(diào)用構(gòu)造函數(shù)所創(chuàng)建的那個對象的原型對象好處是可以讓所有對象的實(shí)例共享他的屬性的方法。 前言 雖然使用Object構(gòu)造函數(shù)或者使用對象字面量可以很方便的用來創(chuàng)建一個對象,但這種方式有一個明顯的缺點(diǎn):使用一個接口創(chuàng)建多個對象會產(chǎn)生很多冗余的代碼。因此...

    Invoker 評論0 收藏0
  • JavaScript面向對象程序設(shè)計(jì)

    摘要:構(gòu)造函數(shù)模式這種方法創(chuàng)建自定義的構(gòu)造函數(shù),從而自定義對象類型的屬性和方法。借用構(gòu)造函數(shù)在子類型構(gòu)造函數(shù)的內(nèi)部調(diào)用超類型構(gòu)造函數(shù),通過和方法來實(shí)現(xiàn)。 JavaScript中沒有類的概念,它不是嚴(yán)格意義上的面向?qū)ο笳Z言,而是基于對象(Object-based)的編程語言。下面是讀《JavaScript高級程序設(shè)計(jì)(第三版)》的學(xué)習(xí)筆記,總結(jié)一些常用的創(chuàng)建對象和繼承的方法。 一、創(chuàng)建對象 1...

    wfc_666 評論0 收藏0
  • 理解js對象

    摘要:將構(gòu)造函數(shù)的作用域賦值給新對象因此指向了新對象執(zhí)行構(gòu)造函數(shù)的代碼為這個新對象添加屬性返回對象最初是用來標(biāo)識對象類型的。但提到檢測對象類型,還是使用將構(gòu)造函數(shù)當(dāng)作函數(shù)構(gòu)造函數(shù)與其他函數(shù)唯一區(qū)別。 創(chuàng)建對象 雖然Object構(gòu)造函數(shù)與對象字面量都能創(chuàng)建單個對象, 但這些方式都有明顯的缺點(diǎn): 使用同一個接口創(chuàng)建很多對象, 會產(chǎn)生大量重復(fù)代碼。 var obj = {}; //對象字面量 va...

    zhouzhou 評論0 收藏0
  • javascript中的面向對象

    摘要:構(gòu)造函數(shù)模式用于定義實(shí)例屬性,而原型模式用于定義方法和共享的屬性,這種組合模式還支持向構(gòu)造函數(shù)傳遞參數(shù)。實(shí)例對象都有自己的一份實(shí)例屬性的副本,同時(shí)又共享對方法的引用,最大限度地節(jié)省了內(nèi)存。而關(guān)鍵字則代表實(shí)例對象。 相信大家對javascript中的面向?qū)ο髮懛ǘ疾荒吧沁€記得有幾種創(chuàng)建對象的寫法嗎?相信大家除了自己常寫的都有點(diǎn)模糊了,那接下來就由我來幫大家回憶回憶吧! 1. 構(gòu)造函數(shù)...

    SKYZACK 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<