原型链继承
原型链本身就是为了继承的
function Animal (color) {
this.color = color
}
Animal.prototype.sleep = function () {
console.log('hu hu hu...')
}
function Cat () {
}
Cat.prototype = Animal.prototype // 方法1
Cat.prototype = Object.create(Animal.prototype) // 方法2
// 即继承了Animal原型上的方法
构造继承
function Animal (color) {
this.color = color
}
function Cat (color) {
Animal.call(this, color)
}
解决了子类实例共享父类引用属性的问题
拷贝继承
深拷贝
无法获取父类不可枚举的方法(不可枚举方法,不能使用for in 访问到)