关于JavaScript对象深度克隆

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JavaScript对象深度克隆相关的知识,希望对你有一定的参考价值。

都知道对一个js对象深度克隆的方法是采用递归,想问的是,下面两种方式的克隆有什么区别:

1,赋值方式,比如var a = []; var b = a;
2,递归克隆

第一种严格来说不叫克隆。a和b指向同一个对象,修改b的时候其实a也被修改了
第二种是把a做了一个复制,然后把复制出来的新对象给b,修改b的时候a不会变
参考技术A 1。银行卡里有1000块钱,你和你朋友去银行取钱,但是,你和你朋友用的一张卡,一个账户,你取了100块钱,你朋友再去取钱的时候,余额为900

2。银行卡里有1000块钱,你和你朋友去银行取钱,但是,你和你朋友用的是两张卡,两个账户,你取了100块钱,你朋友再去取钱的时候,余额为1000,因为是两张卡,没有关系,是相互独立的。。。。

请参照楼上答案理解。。。
希望能帮到你

以上是关于关于JavaScript对象深度克隆的主要内容,如果未能解决你的问题,请参考以下文章

Java:深度克隆/复制实例的推荐解决方案

关于数组的深度克隆(未完待续)

26.JavaScript实现对象混合与对象浅度克隆和对象的深度克隆

在 JavaScript 中深度克隆对象的最有效方法是啥?

在 JavaScript 中深度克隆对象的最有效方法是啥?

在 JavaScript 中深度克隆对象的最有效方法是啥?