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

Posted 九转功成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript继承4:洁净的继承者----原型式继承相关的知识,希望对你有一定的参考价值。

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

 

设计模式中的经典笔录

以上是关于Javascript继承4:洁净的继承者----原型式继承的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 原型链

JavaScript 原型链

JavaScript-通过原型继承一个对象

深入理解JavaScript系列:强大的原型和原型链

JavaScript设计模式-4.继承和聚合

玩转JavaScript OOP[4]——实现继承的12种套路