JavaScript 继承方式对比与实践
1. 链式继承与对象创建
链式继承提供了指向所有继承成员的链接。通过在函数 F 上调用 new 操作符可以创建一个新对象。返回的克隆对象除了 prototype 属性(通过 F 对象间接指向原型对象)外,完全为空。
2. 经典继承与原型继承对比
2.1 经典继承
- 应用场景 :在 JavaScript 和程序员社区中被广泛理解。几乎所有用 JavaScript 编写的面向对象代码都使用这种范式。适用于创建广泛使用的 API,或者可能有不熟悉原型继承的程序员参与代码开发的情况。
- 优缺点
- 优点 :易于理解和使用,符合大多数程序员的习惯。
- 缺点 :每个对象在内存中都有一份所有属性(和私有方法)的副本,内存开销大。语法相对复杂,例如
SuperClass.call(this, arg)和SubClass.prototype = new SuperClass。
2.2 原型继承
- 应用场景 :JavaScript 是唯一广泛使用原型继承的流行语言。
超级会员免费看
订阅专栏 解锁全文
730

被折叠的 条评论
为什么被折叠?



