组合继承
- 实例的继承
借用构造函数,即在子类构造函数的内部调用父类构造函数 - 方法的继承
使用原型链实现对原型属性和方法的继承。
function Father(name) {
this.name = name;
}
Father.prototype.sayHi = function() {
console.log('name', this.name);
}
function Son(name, age) {
// 属性的继承
Father.call(this, name);
this.age = 12;
}
// 继承方法
Son.prototype = new Father();
Son.prototype.constructor = Son;
Son.prototype.sayAge = function() {
console.log('age', this.age);
}
const son = new Son('Jack', 12)
son.sayHi() // name Jack
son.sayAge() // age 12
instanceof()
isPrototypeOf()
可以识别基于组合继承创建的对象。