function copy(obj) {
const copy = Object.create(Object.getPrototypeOf(obj));
const propNames = Object.getOwnPropertyNames(obj);

propNames.forEach(function(name) {
const desc = Object.getOwnPropertyDescriptor(obj, name);
Object.defineProperty(copy, name, desc);
});

return copy;
}

const obj1 = { a: 1, b: 2 };
const obj2 = copy(obj1); // obj2 looks like obj1 now
obj2.c=3;
console.log(obj2); //{ a:1,b:2,c:3 }
console.log(obj1); //{a: 1, b: 2 }

 

//对象之间会互相不影响

相关文章:

  • 2021-10-08
  • 2022-02-15
  • 2022-03-08
  • 2021-12-13
  • 2021-11-25
猜你喜欢
  • 2021-10-12
  • 2022-12-23
  • 2021-09-25
  • 2017-12-12
  • 2022-02-06
相关资源
相似解决方案