JavaScript对象的深拷贝和浅拷贝

对象的深拷贝和浅拷贝

// ES5 浅拷贝

Object.assign({}, conf)

只能拷贝一级,深层的源改变,目标也会跟着改变。

// 递归 深拷贝

function deepCopy(des, src) {
  for (var key in src) {
    if(typeof src[key] !== 'object') {
      des[key] = src[key];
    } else {
      des[key] = des[key] || {};
      deepCopy(des[key], src[key]);
    }
  }
  return des;
}

你可能感兴趣的:(javascript)