JS實現繼承的幾種方式

2021-10-06 20:37:08 字數 1420 閱讀 7627

定義乙個父類

function

father

(name)

}// 例項原型方法

father.prototype.age =18;

fatcher.prototype.

sayaage

=function()

一、原型鏈繼承

將父類的例項作為子類的原型

function

son(

)son.prototype =

newfather()

;son.prototype.constructor = son;

優點:

缺點:二、構造繼承

function

son(name)

優點:

缺點:三、組合繼承

結合原型鏈繼承和構造繼承

function

son(name)

son.prototype =

newfather()

;son.prototype.constructor = son;

優點:

缺點:四、原型式繼承

function

createobj

(obj)

; f.prototype = obj;

return

newf()

;}

優點:

直接通過繼承乙個物件生成乙個物件

缺點:不是類式繼承,而是原型式基礎

五、寄生式繼承

function

createobj

(obj)

; f.prototype = obj;

return

newf()

;}function

cloneobj

(cloneobj)

就是原型式繼承的一種擴充套件

六、寄生組合式繼承

通過寄生方式,砍掉父類的例項屬性,避免了組合繼承生成兩份例項的缺點

function

son(name)

son.prototype = object.

create

(father.prototype)

;son.prototype.cunstructor = son;

優點:

比較完美

缺點:不通過object.create()方法實現起來會很複雜

七、es6–class繼承

class

son extend father

}

使用 class + extend 實現繼承

js實現繼承的幾種方式

一,js中物件繼承 js中有三種繼承方式 1.js原型 prototype 實現繼承 複製 如下 2.建構函式實現繼承 複製 如下 複製 如下 js手冊中對call的解釋 複製 如下 call 方法 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。call thisobj arg1 arg2 ar...

JS實現繼承的幾種方式

取自 1.js實現繼承的幾種方式 2.js 物件導向之繼承 多種組合繼承 js作為物件導向的弱型別語言,繼承也是其非常強大的特性之一。那麼如何在js中實現繼承呢?讓我們拭目以待。既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 ani...

JS實現繼承的幾種方式

前言 js作為物件導向的弱型別語言,繼承也是其非常強大的特性之一。那麼如何在js中實現繼承呢?讓我們拭目以待。既然要實現繼承,那麼首先我們得有乙個父類,如下 定義乙個動物類 function animal name 原型方法 animal.prototype.eat function food 核心...