您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JavaScript如何實現組合繼承,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、組合繼承綜合了原型鏈和盜用構造函數,將兩者的優點集中了起來。既可以把方法定義在原型上以實現重用,又可以讓每個實例都有自己的屬性。
2、過程中調用兩次父類構造函數。
一次是子構造函數使用apply/call調用的父構造函數,另一次是子類使用原型繼承時,父類實例賦給子類的原型對象時調用的父類構造函數
實例
function A(name,age,sex){ this.name = name; this.age = age; this.sex = sex; this.arrs = [1,2,3] }; A.prototype.sayName = function(){ return this.name } function B(name,age,sex){ A.apply(this,arguments) } B.prototype = new A(); Object.defineProperty(B.prototype,"constructor",{ enumerable:false, value:B }) let C1 = new B('C1',18,'male'); let C2 = new B('C2',18,'female'); console.log(C1.sayName()); //"C1" C1.arrs.push(4); console.log(C1.age,C1.sex,C1.arrs); //18,'male',[1,2,3,4] console.log(C2.sayName()); //"C2" console.log(C2.age,C2.sex,C2.arrs); //18,'female',[1,2,3]
關于“JavaScript如何實現組合繼承”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。