1:javascript因为没有面向对象机制,所以继承只能通过原型链方式来实现。(P162)
但是原型链有一个问题:因为原型指向的是一个实例,所以子类的所有实例将共享父类实例的变量。
2:可以通过call方法,在子类的构造函数中调用父类的构造函数,这样就避免共享问题,但是又导致父类的许多方法会在子类实例中出现冗余。(p167)
3:为了结合上诉两种方法的优缺点,引入了组合继承的方式。(P168)
这种方式成为javascript中最常用的继承方式
4:如果你只想在一个对象的基础上做一点小改进,那么可以采用原型继承方式,即:通过将对象作为另外一个对象的原型,来生成一个新的对象(P170)