javascript -- 对象(深拷贝、浅拷贝)

时间:2023-01-05 19:49:57

拷贝:顾名思义就是复制。

1、浅拷贝:把父对象的属性,全部拷贝到子对象

  function extendCopy(p) {  

    var c = { };

    for (var i in p) { c[i] = p[i] };

    return c;

  }

2、 深拷贝就是能实现真正意义上的数组和对象的拷贝。

    function deepCopy(p, c) {

    var c = c || {};

    for (var i in p) {

      if (typeof p[i] === "object") {

        c[i] = (p[i].constructor === Array) ? [] : {};

        deepCopy(p[i] , c[i]);

      } else {

        c[i]  = p[i];

      }

    }

  }