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

2021-09-24 21:16:43 字數 464 閱讀 9334

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

function person(skin)

person.prototype.run=function()

function chinese(native,skin)

chinese.prototype=new person()

var p1=new chinese(『中國』,『yellow』)

console.log(p1.native)

console.log(p1.skin)

p1.run()

執行結果如圖:

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

JS最常用的繼承方式 組合繼承(偽經典繼承)

組合繼承有時候也叫做為經典繼承,指的是將原型鏈和借用建構函式的技術組合到一起,發揮二者之長。背後的思路是使用原型鏈實現方式對原型屬性和方法的繼承,而借用建構函式來實現對例項屬性的繼承。function supertype name supertype.prototype.sayname functi...

js的組合繼承

組合繼承也叫偽經典繼承,指將原型鏈的借用建構函式的技術組合到一起,發揮二者之長的一種繼承模式。思路是使用原型鏈實現對原型屬性和方法的繼承,而通過建構函式來實現例項繼承,這樣就既對原型上的方法實現了復用,又能保證每個例項獨特的屬性。function supertype supertype.protot...

js組合繼承與寄生繼承

組合繼承 function parent parent,prototype.eat function function clild name 1 重寫原型物件,覆蓋之前的,需重新指向建構函式,2 第二次執行這個函式,避免了屬性共享 clild.prototype new parent clild.p...