对象创建模式:
- 工厂模式
- 构造函数模式
- 原型模式
继承模式
- 原型式继承
- 寄生式继承
- 构造函数
- 原型式和构造函数的组合式(缺点:运行两次超类类函数,积累函数的属性被挂载在原型对象上和实例对象上)
- 寄生组合模式(主要是解决上述模式中调用两次超类构造函数)
- 见例子:
function superObj (name){
this.name = name;
this.firends = [1,2,3];
}
superObj.prototype.say = function(w) {
console.log(w);
};
function subObj (name) {
superObj.call(this,name);
}
subObj.prototype = Object.assign(Object.create(superObj.prototype),{
constructor: subObj
})
有点晚了,改日再一一详细总结