一、通过json转换(局限性较大)
var obj={name:'aab',age:20};
var newObj=JSON.parse(JSON.stringify(obj))
二、ES6解构赋值
var obj = {name:'123',age:13};
var obj2 = {...obj}
三、for in 循环遍历对象
var obj = {
name: "小明",
age: 20
}
var obj1 = {}
for (var key in obj) {
//遍历属性值,深拷贝
obj1[key] = obj[key]
}
console.log(obj1);
四、Object.assign() 对象的合并
var obj = {name:'123',age:13};
var obj2 = Object.assign({},obj1);
console.log(obj1);//{name:'123',age:13}
以上几种方法只能拷贝一层,无法深拷贝对象中的对象属性