1.原型對象(prototype)繼承
優點:
簡單,方便,易操作
缺點:
不能繼承構造函數裡的屬性和方法
只能繼承原型對象身上的屬性和方法
2.原型鏈(__proto__)繼承
優點:
更加的簡單,方便,易操作
可以繼承構造函數中的方法和屬性
可以繼承原型身上的方法和屬性
缺點:
不方便傳參
3.構造函數繼承
優點:
方便傳參
可以實現多繼承
缺點:
只能繼承構造函數内部的屬性或方法,
不能繼承原型身上的屬性或方法
4.混合繼承(構造函數繼承 + 原型對象繼承)
優點:
方便傳參
可以實現多繼承構造函數
可以繼承構造函數中的方法和屬性
可以繼承原型身上的方法和屬性
缺點:
略複雜
原型鏈繼承時,傳參時有隱患
5.ES6的class繼承(構造函數繼承 + 原型鏈繼承)
優點:
方便傳參
可以繼承構造函數中的方法和屬性
可以繼承原型身上的方法和屬性