美文网首页
原型式继承

原型式继承

作者: 南蓝NL | 来源:发表于2019-07-14 11:58 被阅读0次
    • 基本思想:没有使用构造函数,借助原型可以基于已有的对象创建新对象,同时还不必创建自定义类型
    • 优点: 想让一个对象与另一个对象保持类似,就不用创建构造函数了,比较方便,不过也是优缺点的
    • 缺点: 包含引用类型的值始终会共享,这跟原型链继承一样
    function object(o){
     function F(){}
     F.prototype = o;
     return new F();
    }
    
    • 过程:首先创建一个基础对象,这个对象作为另外一个对象的基础,两者之间很类似,然后传给Object函数,然后这个新创建的再根据具体需求去修改
    var dog = {
      species: '比熊犬',
      color: 'gold',
      skills: ["jump","climb","catch","run"]
    }
    
    var dog1 = Object(dog); //  dog 对象作为dog1 对象的基础,在ES5当中,这里可以写成Object.create
    dog1.species = ' 泰迪';
    dog1.color = 'brown';
    dog1.skills.push('acting');
    
    var dog2 = Object(dog);
    dog2.species = ' 吉娃娃';
    dog2.color = 'grey';
    dog2.skills.push('show');
    skills: ["jump","climb","catch","run"];
     
    console.log(dog.skills); // ["jump", "climb", "catch", "run", "acting", "show"]
    console.log(dog.species); // 吉娃娃
    

    相关文章

      网友评论

          本文标题:原型式继承

          本文链接:https://www.haomeiwen.com/subject/jqebkctx.html