let obj = {
name:"张三",
age:18,
arr:{
a:111,
b:222
},
say(){
console.log("say Hello")
}
}
// 1. 扩展运算符
let obj1 = {...obj}
obj1.name="王五"
obj1.arr.a="444"
// console.log(obj,obj1)
// 缺点:只能实现第一层的,一维的对象是可以实现,多维内部会替换原数组
// 2. JSON.parse(JSON.stringify())
let obj2 = JSON.parse(JSON.stringify(obj))
obj2.arr.a="444"
// console.log(obj,"/n/r",obj2)
// 缺点:该方法,并不能拷贝内部函数
// 3. 利用递归来实现