zoukankan      html  css  js  c++  java
  • 原型式继承

    function object(o){

    function F(){}
    F.prototype = o;
    return new F();
    }

    //借助原型可以基于已有的对象创建新的对象,同时还不必因此chu创建自定义类型,

    //在object函数的内部,先创建了一个临时性的构造函数,然后将传入的对象作为这个构造函数的原型,最后返回这个临时类型的
    //的新实例。从本质上讲,object()对传入其中的对象执行了一次前复制

    var person = {
    name:"Nicholas",
    friends:["shelby","count","wan"]
    };

    var anotherPerson = object(person);
    anotherPerson.name = "Greg";
    anotherPerson.friends.push("Rob");

    var anotherPerson2 = object(person);
    anotherPerson2.name = "Greg2";
    anotherPerson2.friends.push("Rob2");

    console.log(anotherPerson2.friends);

    //为了规范化原型继承 Object.create();

    //在传入一个参数的情况下与object函数一样

    var person = {
    name:"shalio",
    friends:["hahs","jk","ll"]
    };

    var anotherPerson=Object.create(person);

    //也可以为此方法传入两个个参数 与Object.defineProperties相似

    var newPerson = Object.create(person,{name:{value:"hhhh"}});

  • 相关阅读:
    Git 总结
    .net报错大全
    对于堆和栈的理解
    html 局部打印
    c#面试问题总结
    算法题总结
    h5-plus.webview
    堆和栈,引用类型,值类型,指令,指针
    .NET framework具体解释
    前端之间的url 传值
  • 原文地址:https://www.cnblogs.com/lovefan/p/3884202.html
Copyright © 2011-2022 走看看