1.3.4.3 组合继承 (combination inheritance) 组合继承的基本概念与背景 在JavaScript的继承体系中,组合继承(Combination Inheritance)是一种结合了原型链继承和构造函数继承优点的继承模式。这种继承方式通过原型链实现方法的继承,同时通过构造函数实现属性的继承,从而避免了单独使用原型链或构造函数继承时的缺陷。 原型链继承的局限性 原型链继承的核心思想是利用原型对象的共享特性,使得子类可以继承父类的方法。然而,这种方法存在一个显著的问题:当父类的属性是引用类型时,所有子类实例共享同一个原型属性,这会导致数据污染问题。例如,如果父类有一个数组类型的属性,所有子类实例对该属性的修改都会影响到其他实例。