1. 原型链继承
代码: function Person(name, age) {
this.name = name this.age = age } Person.prototype.say = function() { console.log('说话了') } const p1 = new Person('张三', 19)
- 是利用了原型链的指向方法来实现的,把子级实例对象指向父级的构造函数的prototype方法 从而可以利用__proto__来指向父级的prototype的方法,从而达到继承的目的
— 缺点:这个方法只能够继承父级的方法,不能继承父级的属性,而且父原型和子原型公用同一个原型
2. 借用构造函数继承
- 把父亲的构造函数调用到子构造函数利用call的方法改变this指向,让父类构造函数的属性指向子类构造函数,子类就可以通过实例对象来调用父类的属性从而实现继承
- 但是只能够继承父类的属性,不能继承父类的方法
3. 组合式继承
是原型链继承和借用构造函数继承的混合方法
4.寄生组合继承
5. es6 类继承
- 由于之前的继承方法太过于复杂,es6新出了一个extends方法,使继承更加简单
标签:方式,父级,继承,几种,原型,父类,方法,构造函数 来源: https://www.cnblogs.com/xuanxuanbaby/p/16508032.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。