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

資訊專欄INFORMATION COLUMN

js中的繼承

April / 425人閱讀

摘要:中的繼承類繼承實(shí)現(xiàn)繼承改變這樣不是繼承,和變成了兄弟關(guān)系正確做法一,兒子的原型原型鏈指向父親的原型正確做法二,類繼承找不到就拿父級(jí)的

js中的繼承

ES5 prototype

Parent.prototype.__proto = Child.prototype

Object.setPrototypeOf( Child.prototype, Parent.prototype )

ES6 class

類繼承

ES5 prototype 實(shí)現(xiàn)繼承
function Parent(){
    this.name = "parent name";        
}
Parent.prototype.eat = function(){
    consle.log(‘parent eat");
}
function Child(){
    Parent.call(this);// 改變 this
    this.name = "child name";
}
Child.prototype = Parent.prototype; // 這樣不是繼承,Parent 和 Child 變成了兄弟 關(guān)系
// 正確做法 一 , 兒子的原型 原型鏈 指向 父親的原型
Child.prototype.__proto__ = Parent.prototype;
// 正確做法 二 , 
Object.setPrototypeOf( Child.prototype, Parent.prototype );

let child = new Child();
console.log(child.name);// parent name
child.eat(); // parent eat
class 類繼承
class Parent{
    constructor(){
        this.name = "parent name";
    }
    eat(){
        console.log("parent eat")
    }
}

class Child extends Parent{
    constructor(){
        super();
        consle.log(this)// child
    }
    
}

let child = new Child();
console.log(child.name) // parent name , Child 找不到就拿父級(jí)的
child.eat()// parent eat

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

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

相關(guān)文章

  • JS中的繼承(上)

    摘要:中的繼承上學(xué)過(guò)或者之類語(yǔ)言的同學(xué)應(yīng)該會(huì)對(duì)的繼承感到很困惑不要問(wèn)我怎么知道的的繼承主要是基于原型的對(duì)的原型感興趣的同學(xué)可以了解一下我之前寫的中的原型對(duì)象相信很多同學(xué)也跟我一樣剛開(kāi)始接觸的面向?qū)ο缶幊痰臅r(shí)候都抱著一種排斥的心態(tài)為什么這么 JS中的繼承(上) 學(xué)過(guò)java或者c#之類語(yǔ)言的同學(xué),應(yīng)該會(huì)對(duì)js的繼承感到很困惑--不要問(wèn)我怎么知道的,js的繼承主要是基于原型(prototype)...

    Fundebug 評(píng)論0 收藏0
  • JS對(duì)象繼承與原型鏈

    摘要:此用來(lái)定義通過(guò)構(gòu)造器構(gòu)造出來(lái)的對(duì)象的原型,構(gòu)造器內(nèi)部的代碼用來(lái)給對(duì)象初始化。 對(duì)象繼承 VS 類繼承 在 class-based 的面向?qū)ο蟮氖澜缋?,要出現(xiàn)對(duì)象,必須先有類。類之間可以繼承,類再使用 new 操作創(chuàng)建出實(shí)體,父子對(duì)象之間的繼承體現(xiàn)在父類和子類上。你不能說(shuō) 對(duì)象 a 繼承了對(duì)象 b,只能說(shuō) class A 繼承了 class B,然后他們各自有一個(gè)實(shí)例a、b。 JS中實(shí)現(xiàn)...

    QLQ 評(píng)論0 收藏0
  • JS中的類與類的繼承

    摘要:首先捋清楚類和對(duì)象的關(guān)系類比如人類,指的是一個(gè)范圍對(duì)象比如某個(gè)人,指的是這個(gè)范圍中具體的對(duì)象中的作為構(gòu)造函數(shù)時(shí),就是一個(gè)類,通過(guò)操作符,可以返回一個(gè)對(duì)象。 JS中的類與類的繼承 我們知道,JS中沒(méi)有類或接口的概念,即不能直接定義抽象的類,也不能直接實(shí)現(xiàn)繼承。不過(guò),為了編程的方便,我們可以在 JS 中模擬類和繼承的行為。首先捋清楚類和對(duì)象的關(guān)系: 類:比如人類,指的是一個(gè)范圍; ...

    Tangpj 評(píng)論0 收藏0
  • Javascript 設(shè)計(jì)模式讀書筆記(三)——繼承

    摘要:的繼承方式屬于原型式繼承,非常靈活。當(dāng)使用關(guān)鍵字執(zhí)行類的構(gòu)造函數(shù)時(shí),系統(tǒng)首先創(chuàng)建一個(gè)新對(duì)象,這個(gè)對(duì)象會(huì)繼承自構(gòu)造函數(shù)的原型對(duì)象新對(duì)象的原型就是構(gòu)造函數(shù)的屬性。也就是說(shuō),構(gòu)造函數(shù)用來(lái)對(duì)生成的新對(duì)象進(jìn)行一些處理,使這個(gè)新對(duì)象具有某些特定的屬性。 繼承這個(gè)東西在Javascript中尤其復(fù)雜,我掌握得也不好,找工作面試的時(shí)候在這個(gè)問(wèn)題上栽過(guò)跟頭。Javascript的繼承方式屬于原型式繼承,...

    cangck_X 評(píng)論0 收藏0
  • JS對(duì)象(3)經(jīng)典對(duì)象創(chuàng)建與繼承模式

    摘要:對(duì)象經(jīng)典對(duì)象創(chuàng)建與繼承模式組合模式創(chuàng)建對(duì)象中創(chuàng)建一個(gè)對(duì)象的方式多種多樣,每種方式都有自己缺點(diǎn)或者優(yōu)點(diǎn),具體的可以參考而組合使用構(gòu)造函數(shù)模式和原型模式來(lái)創(chuàng)建自定義類型算是最常見(jiàn)的方式了。 title: JS對(duì)象(3)經(jīng)典對(duì)象創(chuàng)建與繼承模式 date: 2016-09-28 tags: JavaScript 0x01 組合模式創(chuàng)建對(duì)象 JS 中創(chuàng)建一個(gè)對(duì)象的方式多種多樣,...

    hellowoody 評(píng)論0 收藏0
  • 你是否理解js的Object與Function與原型鏈

    摘要:原型對(duì)象是由創(chuàng)建的,因此原型對(duì)象的構(gòu)造函數(shù)是構(gòu)造函數(shù)也可以是稱為對(duì)象,原型對(duì)象也就繼承了其生父構(gòu)造函數(shù)中的數(shù)據(jù),也同時(shí)繼承了原型對(duì)象的數(shù)據(jù)。當(dāng)然這條原型鏈中的數(shù)據(jù),會(huì)被還是還是這類構(gòu)造函數(shù)繼承,但是不會(huì)被這些繼承,他們不處于同一個(gè)鏈條上。 js中,F(xiàn)unction的本質(zhì)是什么?Object的本質(zhì)又是什么?js中有幾條原型鏈? showImg(https://segmentfault.c...

    itvincent 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<