JavaScript不是一门面相对象的语言,但是可以通过特殊方法来模拟面相对象,之所以这样操作是因为,面向对象的编程思想易于操作大的项目,并降低维护成本。而在JavaScript要实现继承就需要借助原型(prototype)。
初级方法:
该方法存在缺陷,如果要创建多个对象,那么就需要去手动修改继承来 自父类的属性值。很麻烦,而且与Java之类的面向对象语言使用差别太大。
改进型:
借用父类的构造函数实现属性的共享,使用不传任何值的父类构造方法,改变原型指向,从而达到共享来自父类方法的地步,不过要注意的是,改变原型指向的操作,不能写在子类中,只能写在子类外面。