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

2018-10-03 18:00:31来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

//原型式继承
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']

 

设计模式中的经典笔录

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:前端工程化—部署

下一篇:Javascript继承5:如虎添翼----寄生式继承