天天看點

JS實作繼承之最常用的組合繼承

使用構造函數方法和原型鍊方法都不能很好的實作繼承,他們各有優勢,也各有劣勢,如果把他們組合在一起,是不是可以各取所長,取長補短呢?答案是可以的,這就是組合繼承

function Person(skin){

this.skin=skin

}

Person.prototype.run=function(){

console.log(“跑起來”)

}

function Chinese(native,skin){

Person.call(this,skin)

this.native=native

}

Chinese.prototype=new Person()

var p1=new Chinese(‘中國’,‘yellow’)

console.log(p1.native)

console.log(p1.skin)

p1.run()

運作結果如圖:

JS實作繼承之最常用的組合繼承

這樣組合而成的方式實作繼承是最常見,也是能滿足我們需求的繼承方式。