JavaScript继承本质和原型链有关
- 原型、实例、构造函数、原型链之间的关系

一、借助构造函数实现继承
- 缺点:实例无法访问父类原型上的属性
function Parent1 () { |
二、借助原型链实现继承
- 缺点:子类和父类公用一个原型,最后导致子类的多个实例都是一样的,无法隔离
function Parent2 () { |
三、组合继承方式
- 此方法解决了上面的实例相同的问题,但是父类的构造函数执行了多次
function Parent3 () { |
- 优化组合继承1:此方法解决了父类的构造函数执行了多次问题,但是无法判断实例是由子类创建的,还是父类创建的
function Parent4 () { |
- 优化组合继承2:完美解决方案
function Parent5 () { |