组合原型链
和借用构造函数
设计思想:
1.使用原型链实现对原型属性和方法
的继承:Man3.prototype = new Person3();
2.使用借用构造函数实现对实例属性
的继承:子构造函数内:Person.call(this, params);
function Person3(params) {
// todo:私有属性
}
// 复用方法
Person3.prototype.fn = function() {
// todo:
}
function Man3(params) {
// 借用构造函数继承实例属性
Person3.call(this, params);
// todo:私有属性定义
}
// 原型链继承原型属性和方法
Man3.prototype = new Person3();
var man3 = new Man3();
优点:避免了原型链和借用构造函数的缺陷,融合了它们的优点, 成为了JavaScript最常用的继承模式。