javascript继承之寄生式继承(五)

寄生式继承是与原型式继承紧密相关的一种思路,创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后再像真地是它做了所有的工作一样返回对象

1
2
3
4
5
6
7
function createAnothor(o){
var clone = Object.create(o);
clone.getMessage = function(){
console.log("hi");
}
return clone;
}
  • 实例继承测试
1
2
3
4
5
6
7
var car = {
master: "master",
color: "黑色"
}

var car1 = createAnothor(car);
car1.getMessage();// hi

寄生式继承也是一种有用的模式

注意:使用寄生式继承来为对象添加函数,会由于不能做到函数复用而降低效率,与构造函数模式类似