JavaScript寄生组合式继承原理与用法分析
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了JavaScript寄生组合式继承,结合实例形式分析了javascript寄生组合式继承的原理、定义与简单使用方法,需要的朋友可以参考下
本文实例讲述了JavaScript寄生组合式继承。分享给大家供大家参考,具体如下
寄生组合式继承
寄生组合式继承,就是通过伪造对象来继承属性,通过原型链的混成形式来继承方法。
这种技术的基本思路是不必为了指定子类型的原型而调用超类型的构造函数,因为我们所需要的只是超类型原型的一个副本而已(这一点正是组合继承的问题,并且正是JavaScript这种原型式语言的强大之处,直接copy对象-原型对象)。本质上,就是使用寄生式继承来继承超类型的原型,然后再将结果指定给子类型的原型。
function inheritPrototype(subType, superType){ var prototype = Object.create(superType.prototype); //创建超类型原型副本 prototype.constructor = subType; //修改原型副本的不同属性 subType.prototype = prototype; //指定原型 } function SuperType(name){ this.name = name; this.colors = ["red", "blue", "green"]; } SuperType.prototype.sayName = function(){ console.log(this.name); } function SubType(name, age){ //继承属性 SuperType.call(this, name); //实例属性 this.age = age; } //继承方法 inheritPrototype(SubType, SuperType); SubType.prototype.sayAge = function(){ console.log(this.age); }; var instance1 = new SubType("Nicholas", 29); instance1.colors.push("black"); console.log(instance1.colors); //"red, blue, green, black" instance1.sayName(); //"Nicholas" instance1.sayAge(); //29
这里使用在线HTML/CSS/JavaScript代码运行工具测试上述代码,可得如下运行结果
这个是寄生组合式继承的最简单形式。这个函数接收两个参数
1. 子类型构造函数
2. 超类型构造函数
在函数内部,寄生组合式继承最简形式分为3个步骤
1. 创建超类型原型副本;
2. 为创建的副本指定constructor属性,从而弥补因为重写SubType原型而失去的默认的constructor属性,这个原型副本的constructor属性变化SuperType –> SubType;
3. 将该完善好的副本赋值给子类型的原型。
寄生组合式继承的图解如下
寄生组合式继承的高效率体现在它只调用了一次SuperType构造函数,并且避免了在SubType.prototype
上面创建不必要的,多余的属性。与此,原型链还能保持不变。
更多关于JavaScript相关内容还可查看本站专题《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南