var obj1 = { a: 1, test: function() { return this.a; }, hehe: [1, null, function() { return this.a; }] } var obj2 = JSON.parse(JSON.stringify(obj1)); var obj3 = Object.assign({}, obj1);
JSON.parse(JSON.stringify());理论上并不是深拷贝,他无法拷贝函数
Object.assign才是深拷贝,启用新地址,两个对象互不干扰。