如何用组合继承模式实现父类方法复用与子类属性独立
组合继承是JavaScript最常用继承模式,通过构造函数继承确保实例属性独立、原型链继承复用父类方法;需用Object.create设置原型并修复constructor指向。组合继承是 JavaScript 中最常用、最推荐的继承模式之一,它通过 原型链继承 + 构造函数继承 的组合方式,既让子类实例拥有父类的实例属性(独立不共享),又能复用父类原型上的方法(节省内存、支持动态修改)。为什么需要组合继承?单独用原型链继承,子类实例会共享父类构造函数中定义的引用类型属性;只用构造函数继承(call/apply),又无法复用父类原型上的方法。组合继承恰好取长补短:构造函数继承:确保每个子类实例都有自己的一份父类实例属性(如 this.name、this.colors) 原型链继承:把父类原型上的方法(如 sayName)挂到子类原型上,所有子类实例可共享调用标准写法:两步完成以 Person 为父类、Student 为子类为例: Mokker AI AI产品图添加背景
