ES5中的繼承(組合繼承)

2022-07-17 02:39:11 字數 564 閱讀 4776

es6中類的繼承使用extends關鍵字,那麼es5中是怎麼實現的呢?

es5中採用建構函式和原型物件的組合方式模擬繼承,所以也稱為組合繼承;

核心原理:通過call()借用父建構函式,並把父型別的this指向子型別的this;

這種繼承,實際上是在呼叫子建構函式建立例項物件時,在子建構函式內呼叫了父建構函式,那麼就可以獲得父建構函式中的成員,同時修改被呼叫的父建構函式的this的指向為子函式即可,成員就會被繼承到子函式中;

用一句話說:使用call()

在子構造函式呼叫父建構函式,實現繼承;記得修改父建構函式中的this為子函式中的this

function father(uname, age)

function son(uname, age)

借用原型物件繼承方法

son.prototype = new father();//因為可以通過原型鏈訪問到father的原型物件中的方法

son.prototype.constructor = son;//上面的賦值操作,會使son的constructor指向father

ES5 中 JavaScript的繼承

在es5 中,js 的繼承主要分為以下幾類 類式繼承 function ffatherclass ffatherclass.prototype.falert function function fchildclass fchildclass.prototype new ffatherclass fc...

es5實現繼承

繼承es5 這是乙個動物類 param age 年齡 param 性別 param name 名字 introduction 方法 function animal age,name 這是乙個貓類 param ingredients 食物 param age 年齡 當然你也可以在 這個類裡去呼叫ani...

ES5實現繼承

es5實現繼承 在面試過程中,常常會遇到一些es5,es6的問題,如果不能及時的想起來該如何讓面對,結果就可能是同學,你的面試就可能有點懸了,那麼,趕緊來一波乾貨吧 1,原型鏈繼承 原型鏈繼承的基本思想是利用原型讓乙個引用型別繼承另乙個引用型別的屬性和方法。function supertype su...