开发者问题收集
克隆 JavaScript 对象的最有效方法是什么?我见过有人使用obj = eval(uneval(o));,但这是非标准的,并且仅受 Firefox 支持。我做过类似obj = JSON.parse(JSON.stringify(o));的事情,但对其效率存疑。我还见过存在各种缺陷的递归复制函数。我很惊讶没有规范的解决方案。
我有一个对象x。我想将其复制为对象y,这样对y的更改不会修改x。我意识到复制从内置 JavaScript 对象派生的对象会导致额外的、不必要的属性。这不是问题,因为我正在复制我自己的一个文字构造的对象。如何正确克隆 JavaScript 对象?