对象的深拷贝和浅拷贝
// 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中对象的深拷贝和浅拷贝方法。通过ES5的`Object.assign`实现浅拷贝,只能拷贝对象的一级属性,深层次属性的变化会影响到原始对象;通过递归函数实现深拷贝,可以完全复制对象及其所有层级的属性。
5073

被折叠的 条评论
为什么被折叠?



