es5的继承有两种模式,但是这两种模式都有问题

1、对象冒充的继承模式:对象冒充可以继承构造函数里面的属性和方法,但是没法继承原型链上面的属性和方法

2、原型链即继承模式:原型链继承的缺点是实例化子类的时候,没法给父类传参

最好的模式是,将对象冒充和原型链的继承模式结合起来(图3)