递归深复制对象
上代码
<script>
var obj = { // 定义要进行深复制的对象
name: "张三",
age: 14,
tel: 110,
info: {
isSingle: true
}
}
// 定义深复制的函数
function deepClone(params) {
var obj = {}
if(!(params instanceof Object)) return
for(let key in params) {
if(params[key] instanceof Object) {
obj[key] = deepClone(params[key])
} else {
obj[key] = params[key]
}
}
return obj
}
// 验证结论
var obj2 = deepClone(obj)
obj2.name = '李四'
obj2.info.isSingle = false
console.log(obj, obj2)
</script>