对JS继承的理解
想要继承 就必须提供一个父类
核心
将父类的实例作为子类的原型
特点
- 可以方便的继承父类的原型中的方法 但是属性的继承无意义
- 子类的实例也是父类的实例
缺点 - 无法给属性传值
- 只执行一次,无法给属性传值
- 借用构造函数继承
- 核心:
在子类的内部调用父类,通过call改变父类中this的指向
等于是复制父类的实例属性给子类
特点:
创建子类实例时,可以向父类传递参数
可以实现多继承
可以方便的继承父类型的属性,但是无法继承原型中的方法
缺点:
实例并不是父类的实例,只是子类的实例
无法继承原型中的方法
无法实现函数复用,每个子类都有父类实例函数的副本,影响性能