您的位置:首页 > Web前端 > JavaScript

Javascript继承4:洁净的继承者----原型式继承

2018-10-02 16:54 405 查看
//原型式继承
function inheritObj(obj){
//声明一个过渡函数对象
function F(){}
//过渡对象的原型继承父对象
F.prototype = obj;
//返回过渡对象的一个实例,该实例的原型继承了父对象
return new F();
}
/*
* 这种方式是对类式继承的一个封装,所以类式继承中存在的缺点这里依然存在
*/

var car = {
id:1,
color:['red']
}

var car1 = inheritObj(car);
car1.id = 2;
car1.color.push('blue');

var car2 = inheritObj(car);
car2.id = 3;
car2.color.push('yellow');

console.log(car1.id)       // 2
console.log(car1.color)    // ['red','blue']

console.log(car2.id)       // 3
console.log(car2.color)    // ['red','blue','yellow']

console.log(car.id)       // 1
console.log(car.color)    // ['red','blue','yellow']

 

设计模式中的经典笔录

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: