成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript中常見的幾種繼承方式

Vicky / 468人閱讀

摘要:繼承方式一混入繼承繼承方式二原型繼承創(chuàng)建構(gòu)造函數(shù),并且將對象的地址賦值給構(gòu)造函數(shù)的原型實(shí)現(xiàn)繼承恢復(fù)三角關(guān)系實(shí)例化的所有對象都擁有對象的屬性和方法繼承方式三混入加原型繼承方式四實(shí)現(xiàn)過程了一個(gè)新的對象,把傳入作為參數(shù)的那個(gè)對象設(shè)置給新創(chuàng)建的這個(gè)

繼承方式一:混入繼承
"use strict";

//object:A
let Oa= {
    money: "many money",
    resource: "company,house",
    control: function (){
        console.log("this is function");
    }
};

//object:B
let Ob = {};
for (let k in Oa) {
    Ob["k"] = Oa["k"];
}

console.log(Ob.money);//"many money"
console.log(Ob.control()); //"this is function"
繼承方式二:原型繼承
//object:A
var Oa= {
    loveColor: "Green",
    habbit: "backetball",
    sayHi: function (){
        console.log("hello world");
    }
}

//創(chuàng)建構(gòu)造函數(shù),并且將對象A的地址賦值給構(gòu)造函數(shù)的原型
function Func() {}
//實(shí)現(xiàn)繼承
Func.prototype = Oa;
//恢復(fù)三角關(guān)系
Func.prototype.contructor = Func;

//實(shí)例化的所有對象都擁有對象Oa的屬性和方法

//object:B
let Ob = new Func();

console.log(Ob.lovaColor); //"Green";
console.log(Ob.habbit); //"backetball";
繼承方式三:混入加原型
//object:A
let Oa = {
    color: "red",
    love: function (){
        console.log("love green");
    }
}

function Func(name){
    this.name = name;
}

for (let k in Oa) {
    Func.prototype[k] = Oa[k];
}

//object:B
let Ob = new Func("jeky");

console.log(Ob.color) // red;
Ob.love() // "love green";
繼承方式四:object.create();
//object:A
let Oa = {
    fName: "apple",
    color: "red"
};

//object:B
//實(shí)現(xiàn)過程:new了一個(gè)新的對象,把傳入作為參數(shù)的那個(gè)對象設(shè)置給新創(chuàng)建的這個(gè)對象的原型屬性
let Ob = Object.create(Oa); 
console.log(Ob.fName); //"apple"

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89731.html

相關(guān)文章

  • JavaScript常見的六種繼承方式

    摘要:組合繼承也是需要修復(fù)構(gòu)造函數(shù)指向的這種方式融合原型鏈繼承和構(gòu)造函數(shù)的優(yōu)點(diǎn),是中最常用的繼承模式。的繼承機(jī)制完全不同,實(shí)質(zhì)是先將父類實(shí)例對象的屬性和方法,加到上面所以必須先調(diào)用方法,然后再用子類的構(gòu)造函數(shù)修改。 前言 面向?qū)ο缶幊毯苤匾囊粋€(gè)方面,就是對象的繼承。A 對象通過繼承 B 對象,就能直接擁有 B 對象的所有屬性和方法。這對于代碼的復(fù)用是非常有用的。 大部分面向?qū)ο蟮木幊陶Z言,...

    silvertheo 評論0 收藏0
  • JavaScript常見的六種繼承方式

    摘要:組合繼承也是需要修復(fù)構(gòu)造函數(shù)指向的這種方式融合原型鏈繼承和構(gòu)造函數(shù)的優(yōu)點(diǎn),是中最常用的繼承模式。的繼承機(jī)制完全不同,實(shí)質(zhì)是先將父類實(shí)例對象的屬性和方法,加到上面所以必須先調(diào)用方法,然后再用子類的構(gòu)造函數(shù)修改。 前言 面向?qū)ο缶幊毯苤匾囊粋€(gè)方面,就是對象的繼承。A 對象通過繼承 B 對象,就能直接擁有 B 對象的所有屬性和方法。這對于代碼的復(fù)用是非常有用的。 大部分面向?qū)ο蟮木幊陶Z言,...

    wyk1184 評論0 收藏0
  • JavaScript常見的六種繼承方式

    摘要:組合繼承也是需要修復(fù)構(gòu)造函數(shù)指向的這種方式融合原型鏈繼承和構(gòu)造函數(shù)的優(yōu)點(diǎn),是中最常用的繼承模式。的繼承機(jī)制完全不同,實(shí)質(zhì)是先將父類實(shí)例對象的屬性和方法,加到上面所以必須先調(diào)用方法,然后再用子類的構(gòu)造函數(shù)修改。 前言 面向?qū)ο缶幊毯苤匾囊粋€(gè)方面,就是對象的繼承。A 對象通過繼承 B 對象,就能直接擁有 B 對象的所有屬性和方法。這對于代碼的復(fù)用是非常有用的。 大部分面向?qū)ο蟮木幊陶Z言,...

    anyway 評論0 收藏0
  • JavaScript常見的六種繼承方式

    摘要:組合繼承也是需要修復(fù)構(gòu)造函數(shù)指向的這種方式融合原型鏈繼承和構(gòu)造函數(shù)的優(yōu)點(diǎn),是中最常用的繼承模式。的繼承機(jī)制完全不同,實(shí)質(zhì)是先將父類實(shí)例對象的屬性和方法,加到上面所以必須先調(diào)用方法,然后再用子類的構(gòu)造函數(shù)修改。 前言 面向?qū)ο缶幊毯苤匾囊粋€(gè)方面,就是對象的繼承。A 對象通過繼承 B 對象,就能直接擁有 B 對象的所有屬性和方法。這對于代碼的復(fù)用是非常有用的。 大部分面向?qū)ο蟮木幊陶Z言,...

    helloworldcoding 評論0 收藏0
  • 一名【合格】前端工程師的自檢清單

    摘要:在他的重學(xué)前端課程中提到到現(xiàn)在為止,前端工程師已經(jīng)成為研發(fā)體系中的重要崗位之一。大部分前端工程師的知識,其實(shí)都是來自于實(shí)踐和工作中零散的學(xué)習(xí)。一基礎(chǔ)前端工程師吃飯的家伙,深度廣度一樣都不能差。 開篇 前端開發(fā)是一個(gè)非常特殊的行業(yè),它的歷史實(shí)際上不是很長,但是知識之繁雜,技術(shù)迭代速度之快是其他技術(shù)所不能比擬的。 winter在他的《重學(xué)前端》課程中提到: 到現(xiàn)在為止,前端工程師已經(jīng)成為研...

    羅志環(huán) 評論0 收藏0

發(fā)表評論

0條評論

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