JS關於繼承的總結

2021-10-20 03:54:35 字數 1125 閱讀 9068

方法一通過原型鏈

grandfather.prototype.lastname =

'劉';

function

grandfather()

var grandfather =

newgrandfather()

; father.prototype = grandfather;

function

father()

var father =

newfather()

; son.prototype = father;

function

son(

)var son =

newson()

;

缺點:會導致繼承過多沒有用的功能

2.借用建構函式

function

person

(name, age, ***)

function

student

(name, age, ***, grade)

var student =

newstudent()

;

缺點:1 每次建構函式都要多執行乙個函式 2不能借用建構函式的原型

3. 共享原型

father.prototype.lastname =

'liu'

;function

father()

function

son(

) son.prototype = father.prototype;

var son =

newson()

;var father =

newfather()

;

缺點:不能隨意改動原型

4. 聖杯模式

var inherit =

(function()

return

function

(target,origin)}(

));

關於js繼承

1.建構函式實現繼承,缺點 無法繼承父類原型鏈上的屬性和方法 父類 function parent1 parent.prototype.say function 子類 function child1 2.原型鏈實現繼承,子類例項化的物件屬性會相互影響 父類 function parent2 子類 f...

JS 繼承總結

es裡面沒有真正的繼承,但是能通過某些手段達到繼承效果,從而讓乙個類擁有另外乙個類的方法 類 建構函式 繼承描述某語言環境 魔獸世界 哈!其實我沒玩過 魔獸世界裡面 有humen類 humen類裡面有gnome 侏儒 gnome有方法say 我的名字 有共有屬性ggroup gnome humen ...

關於js原型繼承

js的每個類都有乙個prototype物件 訪問物件的屬性時,會先訪問到物件自身是否有定義這個屬性 如果沒有定義,就會去訪問物件所屬型別的prototype物件是否有此屬性 原型繼承就是把型別的prototype指向乙個父類的新物件,這樣每派生乙個新類出來都會構造乙個新的父類物件作為原型,這個物件和...