对象深拷贝和浅拷贝

浅拷贝

function shallowCopy(oldObj) {
  var newObj = {};
  for (var i in oldObj) {
    if (oldObj.hasOwnProperty(i)) {
      newObj[i] = oldObj[i];
    }
  }
  return newObj;
}

深拷贝

深拷贝的递归方法

function deepCopy(oldObj) {
  var newObj = {};

  for (var key in oldObj) {
    if (typeof oldObj[key] === 'object' && typeof oldObj[key] !== null) {
      newObj[key] = deepCopy(oldObj[key]);
    } else {
      newObj[key] = oldObj[key];
    }
  }
  return newObj;
}

深拷贝的JSON方法

newObj = JSON.parse(JSON.stringify(oldObj));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容