js原型鏈繼承

2022-03-11 04:43:10 字數 1602 閱讀 6302

方式1: 原型鏈繼承

1. 套路

1. 定義父型別建構函式

2. 給父型別的原型新增方法

3. 定義子型別的建構函式

4. 建立父型別的物件賦值給子型別的原型

5. 將子型別原型的構造屬性設定為子型別

6. 給子型別原型新增方法

7. 建立子型別的物件: 可以呼叫父型別的方法

2. 關鍵

1. 子型別的原型為父型別的乙個例項物件

//父型別

function supper() {

this.supprop = 'supper property'

supper.prototype.showsupperprop = function () {

console.log(this.supprop)

//子型別

function sub() {

this.subprop = 'sub property'

// 子型別的原型為父型別的乙個例項物件

sub.prototype = new supper()

// 讓子型別的原型的constructor指向子型別

sub.prototype.constructor = sub

sub.prototype.showsubprop = function () {

console.log(this.subprop)

var sub = new sub()

sub.showsupperprop()

// sub.tostring()

sub.showsubprop()

console.log(sub)  // sub

// 子型別的原型為父型別的乙個例項物件

sub.prototype = new supper()

// 讓子型別的原型的constructor指向子型別

sub.prototype.constructor = sub

////////////////////////////組合繼承

//組合繼承

function person(name,age) {

this.name=name

this.age=age

person.prototype.sayname = function () {

console.log(name)

function student(name,age,scroce) {

person.call(this,name,age)

this.scroce=scroce

//子類的prototype=父類的例項

student.prototype=new person()

student.prototype.sayscroce=function () {

console.log(this.scroce)

var p = new student("ton",12,90)

p.sayscroce()

js繼承,原型鏈繼承

1 乙個型別的物件能夠訪問另外乙個型別的屬性和方法 2 類與類之間的關係 類就是眾多例項共有的屬性和方法的乙個抽象 function animal name animal.prototype.say function function dog 把子類的原型指向父類的例項 dog.prototype ...

js 原型鏈繼承

建構函式的prototype的 proto 預設指向object.prototype,是繼承object。function animal age animal.prototype.getage function animal.prototype.eat function function dog n...

js原型鏈繼承

function foo var foo newfoo console.log foo.proto foo.prototype true console.log foo.proto foo.constructor.prototype ture function foo var foo newfoo ...