js 浅拷贝与深拷贝函数

2019-04-01  本文已影响0人  Messix_1102

参数p 为parent 父类,参数c为child子类

浅拷贝函数

  function extendCopy(p) {

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

    return c;
  }

深拷贝函数(即递归调用浅拷贝)

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

    return c;
  }
上一篇 下一篇

猜你喜欢

热点阅读