js 浅拷贝与深拷贝函数

参数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;
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。