function deepClone(obj) {
// 检查要拷贝的值是否为对象或数组
if (typeof obj !== 'object' || obj === null) {
return obj;
}
// 创建一个空对象或数组来保存拷贝后的值
const clone = Array.isArray(obj) ? [] : {};
// 遍历原对象的属性
for (let key in obj) {
// 递归拷贝子属性的值
clone[key] = deepClone(obj[key]);
}
return clone;
}
注意函数和正则特殊类型需要做处理