1. Conversão através de json (limitações maiores)
var obj={name:'aab',age:20};
var newObj=JSON.parse(JSON.stringify(obj))
Dois, atribuição de desestruturação do ES6
var obj = {name:'123',age:13};
var obj2 = {...obj}
Três, for em loop através de objetos
var obj = {
name: "小明",
age: 20
}
var obj1 = {}
for (var key in obj) {
//遍历属性值,深拷贝
obj1[key] = obj[key]
}
console.log(obj1);
4. Object.assign() Mesclagem de Objetos
var obj = {name:'123',age:13};
var obj2 = Object.assign({},obj1);
console.log(obj1);//{name:'123',age:13}
Os métodos acima podem copiar apenas uma camada e não podem copiar profundamente as propriedades do objeto no objeto