您好,登錄后才能下訂單哦!
javascript中什么是組合繼承?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1、說明
用原型鏈實現原型屬性和方法的繼承,借用構造函數技術實現實例屬性的繼承。
2、缺點
組合模式的缺點是使用子類制作實例對象時,其原型有兩種相同的屬性、方法。
3、實例
function SuperType(name){ this.name = name; this.colors = ["red", "blue", "green"]; } SuperType.prototype.sayName = function(){ alert(this.name); }; function SubType(name, age){ // 繼承屬性 // 第二次調用SuperType() SuperType.call(this, name); this.age = age; } // 繼承方法 // 構建原型鏈 // 第一次調用SuperType() SubType.prototype = new SuperType(); // 重寫SubType.prototype的constructor屬性,指向自己的構造函數SubType SubType.prototype.constructor = SubType; SubType.prototype.sayAge = function(){ alert(this.age); }; var instance1 = new SubType("Nicholas", 29); instance1.colors.push("black"); alert(instance1.colors); //"red,blue,green,black" instance1.sayName(); //"Nicholas"; instance1.sayAge(); //29 var instance2 = new SubType("Greg", 27); alert(instance2.colors); //"red,blue,green" instance2.sayName(); //"Greg"; instance2.sayAge(); //27
看完上述內容,你們掌握javascript中什么是組合繼承的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。