• 复制对象


    function copy(obj) {
    const copy = Object.create(Object.getPrototypeOf(obj));
    const propNames = Object.getOwnPropertyNames(obj);

    propNames.forEach(function(name) {
    const desc = Object.getOwnPropertyDescriptor(obj, name);
    Object.defineProperty(copy, name, desc);
    });

    return copy;
    }

    const obj1 = { a: 1, b: 2 };
    const obj2 = copy(obj1); // obj2 looks like obj1 now
    obj2.c=3;
    console.log(obj2); //{ a:1,b:2,c:3 }
    console.log(obj1); //{a: 1, b: 2 }

    //对象之间会互相不影响

  • 相关阅读:
    【leetcode】二叉搜索树的最近公共祖先
    052-12
    052-11
    052-10
    052-9
    052-8
    052-6
    052-5
    052-3
    052-2
  • 原文地址:https://www.cnblogs.com/daiwenru/p/8882460.html
Copyright © 2020-2023  润新知