1、借助建構函式實現繼承,缺點是不能繼承parent1的原型物件
/**
* 借助建構函式實現繼承
*/function
parent1()
function
child1()
2、借助原型鏈實現繼承,缺點是parent2的原型物件是共用的/**
* 借助原型鏈實現繼承
*/function
parent2()
function
child2()
child2.prototype =
newparent2()
;var s1=
newchild2()
;var s2=
newchild2()
;s1.play.
push(4
);console.
log(s1,s2)
;
3、組合方式實現繼承,缺點是parent3執行兩次/**
* 組合方式
*/function
parent3()
function
child3()
child3.prototype =
newparent3()
;var s3=
newchild3()
;var s4=
newchild3()
;s1.play.
push(4
);console.
log(s3,s4)
;
4、組合方式實現繼承優化一,缺點是無法區分例項是由父類創造還是子類創造/**
* 組合方式優化一
*/function
parent4()
function
child4()
child4.prototype = parent4.prototype;
var s5=
newchild4()
;var s6=
newchild4()
;s5.play.
push(4
);console.
log(s5.construtor)
;//parent4
5、組合方式實現繼承優化二(最優寫法)/**
* 組合方式優化二
*/function
parent5()
function
child5()
child5.prototype = object.
create
(parent5.prototype)
;child5.prototype.construstor = child5;
var s7=
newchild4()
;var s8=
newchild4()
;s5.play.
push(4
);console.
log(s7.construtor)
;//child5
JS繼承的實現方式
前言 js作為物件導向的弱型別語言,繼承也是其非常強大的特性之一。那麼如何在js中實現繼承呢?讓我們拭目以待。既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 核心...
JS繼承的實現方式
前言 js作為物件導向的弱型別語言,繼承也是其非常強大的特性之一。那麼如何在js中實現繼承呢?讓我們拭目以待。既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 核心...
JS繼承的實現方式
既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 核心 將父類的例項作為子類的原型 function cat cat.prototype new animal ca...