第一種:原型繼承(子類的原型等於父類的例項)
function
parent()
parent.prototype.
getx
=function()
;function
child()
child.prototype =
newparent
;child.prototype.
gety
=function()
;let c1 =
newchild
;// c1.__proto__.*** = *** 修改子類原型(原有父類的乙個例項)的內容,
// 修改後,對其他子類的例項有影響,但對父類的例項沒有影響。
// c1.__proto__.__proto__.*** = *** 直接修改父類原型,都會影響
第二種:call繼承(只能繼承父類私有的,不能繼承父類共有的)
function
parent()
parent.prototype.
getx
=function()
;function
child()
child.prototype.
gety
=function()
;let c1 =
newchild
;
第三種:寄生組合式繼承(call + )
function
parent()
parent.prototype.
getx
=function()
;function
child()
// child.prototype.__proto__ = parent.prototype
// ie不支援__proto__,可以用object.create
child.prototype = object.
create
(parent.prototype)
;child.prototype.
gety
=function()
;let c1 =
newchild
;
JS實現繼承的多種方式(一)
注 部分名詞和示例 摘自高程及犀牛書,即站在巨人的肩膀上?將父類的屬性及原型方法初始化給例項原型,即讓乙個引用型別值繼承另乙個引用型別的屬性和方法 function supertype supertype.prototype.getsupervalue function function subty...
前端JS實現繼承的多種方式
定義乙個父類 function father name this.color red blue 原型方法 father.prototype.age 18 father.prototype.sayage function 1.原型鏈繼承 將父類的例項作為子類的原型 function son name ...
繼承的多種方式
常用的繼承方法 1.原生繼承 抽取共同點 人類 function people name,age,people.prototype.say function people.prototype.breath function 學生類 function student name,age,studentn...