真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript中組合繼承指的是什么-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)javascript中組合繼承指的是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計,合水網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:合水等地區(qū)。合水做網(wǎng)站價格咨詢:13518219792

組合繼承(Combination Inheritance)

組合繼承(Combination Inheritance), 有時候也叫做偽經(jīng)典繼承,指的是:將原型鏈和借用構(gòu)造函數(shù)的技術(shù)組合到一塊,從而發(fā)揮兩者之長的一種繼承模式。

實現(xiàn)思路: 使用原型鏈實現(xiàn)對原型方法和方法的繼承,而通過借用構(gòu)造函數(shù)來實現(xiàn)對實例屬性的繼承。

這樣,既通過在原型上定義方法實現(xiàn)了函數(shù)復(fù)用,又能夠保證每個實例對象都有它自己的屬性。

function SuperType(name){
    this.name = name;
    this.colors = ["red","green","blue"];
}

SuperType.prototype.sayName = function(){
    console.log(this.name);
}

function SubType(name, age) {
    
    //繼承屬性
    SuperType.call(this, name);

    this.age = age;
}

//繼承方法
SubType.prototype = new SuperType();
SubType.prototype.constructor = SubType();
SubType.prototype.sayAge = function(){
    console.log(this.age);
}

var instance1 = new SubType("Shaw", 18);
instance1.colors.push("black");
console.log(instance1.colors); //["red","green","blue","black"]
instance1.sayName(); // "Shaw"
instance1.sayAge(); // 18

var instance2 = new SubType("Roc", 19);
console.log(instance2.colors); // ["red", "green", "blue"]
instance2.sayName(); // "Roc"
instance2.sayAge(); // 19

以上代碼,SuperType構(gòu)造函數(shù)定義了兩個屬性:name和colors。

在SuperType的原型上定義了一個sayName()方法。

SubType構(gòu)造函數(shù)在調(diào)用SuperType構(gòu)造函數(shù)時傳入了name參數(shù),緊接著又定義了它自己的屬性age。

然后,將SuperType的實例對象賦值給SubType的原型,然后又在該新原型上定義了sayAge()方法、

這樣一來,就可以讓兩個不同的SubType實例對象既分別擁有自己的屬性——包括colors屬性,又可以使用相同的方法了。

組合避免了原型鏈和借用構(gòu)造函數(shù)的缺陷,融合了他們的優(yōu)點。成為JavaScript中最常用的繼承模式。而且, 操作符 instanceof 和 isPrototypeOf()方法也能夠用于識別基于組合繼承創(chuàng)建的對象。

感謝各位的閱讀!關(guān)于“javascript中組合繼承指的是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


新聞名稱:javascript中組合繼承指的是什么-創(chuàng)新互聯(lián)
URL分享:http://weahome.cn/article/jgsdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部