码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-02 20:12:54      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:class   obj   red   --   UNC   console   函数   div   turn   

//原型式继承
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:洁净的继承者----原型式继承

标签:class   obj   red   --   UNC   console   函数   div   turn   

原文地址:https://www.cnblogs.com/-walker/p/9737476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!