gpt4 book ai didi

JavaScript 对象克隆

转载 作者:行者123 更新时间:2023-11-29 20:01:16 24 4
gpt4 key购买 nike

谁能解释为什么在这种情况下 obj 返回 {a:2} 而不是 {a:1}

var obj = {a:1};
var data = {b:obj};
data.b.a = 2;

console.log(obj); // {a:2}

最佳答案

javascript 中的对象是引用,所以当你改变一个引用时,你就改变了它们。这里的意思是你刚刚创建了一个浅拷贝,你需要做一个深克隆。

可以通过 jQuery 以这种方式进行深拷贝:

// Deep copy
var newObject = jQuery.extend(true, {}, obj);

阅读我使用 jQuery 的原因: What is the most efficient way to deep clone an object in JavaScript?
<子>(我是 Stackoverflow 上的 John Resig……)

关于JavaScript 对象克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com