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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript -- 对象(深拷贝浅拷贝)相关的知识,希望对你有一定的参考价值。

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

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];

      }

    }

  }

以上是关于javascript -- 对象(深拷贝浅拷贝)的主要内容,如果未能解决你的问题,请参考以下文章

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

JS JavaScript深拷贝浅拷贝

JavaScript数组对象的浅拷贝与深拷贝深浅拷贝的区别+图解原理

将对象推入javascript深拷贝还是浅拷贝中的数组?

JavaScript中的浅拷贝和深拷贝

js对象浅拷贝和深拷贝详解