gpt4 book ai didi

javascript - 浅克隆对象是什么意思?

转载 作者:行者123 更新时间:2023-11-28 16:17:48 24 4
gpt4 key购买 nike

我正在使用 underscore.js 库,它有一个克隆方法。

var newObject = _.clone(oldObject);

我从其中一条评论中读到它是一个浅克隆。我想克隆一个对象并将其传递给不同的函数。

当我更改 function A() 内的 newObject 时,我得到以下结果...

{
'Des': 'Some Des'
'Des1': 4,
'Des2': {
"ChildDes": 0,

},
},

但是当我将作为克隆对象的 newObject 传递给另一个 function B() 时,我得到的警报值为 [Object,Object] 。为什么?我无法打印这样的值..

function B(newObject){
alert(newObject.Des2);
}

最佳答案

“浅复制”是一种副本,仅复制所有成员。如果其中一个成员是对对象的引用,则复制引用的更改将影响原始引用。 “深层复制”也会复制对象,因此深层复制元素的更改不会影响原始对象。深拷贝有时很难实现,因为对象成员可能拥有对象本身的引用。

尝试一下不同的复制样式,亲自看看会发生什么。另请参阅:What does it mean to clone() an object?

关于javascript - 浅克隆对象是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869012/

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