继承:让一个没有某个属性或方法的对象能够使用另一个具有某个方法或属性的对象的属性或方法
1.原型继承
原型对象继承:
优点:简单方便容易操作
缺点:但是只能继承原型身上的方法和属性,不能继承构造函数内的方法和属性
浅拷贝
深拷贝
原型链继承:
优点:简单方便容易操作,既可以继承原型身上的方法和属性,又能继承构造函数内的方法和属性
缺点:不方便传参
2.构造函数继承:通过改变this的指向实现继承
优点:方便传参,可以实现多继承
缺点:只能继承构造函数的属性和方法,不能继承原型内部的属性和方法
3.混合(组合)继承:构造函数继承 + 原型继承
优点:方便传参,既可以继承构造函数,又可以继承原型
4.class继承:构造函数方式继承 + 原型链继承(ES6新增)