js深拷貝的三種實(shí)現(xiàn)方式 淺拷貝與深拷貝的區(qū)別是什么?
淺拷貝與深拷貝的區(qū)別是什么?1. 深拷貝和淺拷貝都是源對(duì)象的拷貝,占用不同的內(nèi)存空間。2. 不可變類型的對(duì)象對(duì)深副本和淺副本沒有影響,并且最終地址值和值是相等的。3. 變量類型:=淺復(fù)制:等值,等地址
淺拷貝與深拷貝的區(qū)別是什么?
1. 深拷貝和淺拷貝都是源對(duì)象的拷貝,占用不同的內(nèi)存空間。
2. 不可變類型的對(duì)象對(duì)深副本和淺副本沒有影響,并且最終地址值和值是相等的。
3. 變量類型:
=淺復(fù)制:等值,等地址
復(fù)制淺復(fù)制:等值,不等地址
深度復(fù)制:等值,不等地址
淺復(fù)制只復(fù)制引用,數(shù)據(jù)仍然是內(nèi)存中的一個(gè)。如果引用對(duì)象發(fā)生更改,深度復(fù)制相當(dāng)于將數(shù)據(jù)復(fù)制到內(nèi)存中。此時(shí),修改變量不會(huì)影響原始變量。同樣,修改原來的變量也不會(huì)影響當(dāng)前的變量
一般來說,深拷貝和淺拷貝的區(qū)別主要在于指針(或指針)。淺層復(fù)制只是將源對(duì)象的指針(它指的是通用對(duì)象,而不僅僅是類的實(shí)例)分配給目標(biāo)對(duì)象。目標(biāo)指針的操作是源對(duì)象的操作,因此在許多情況下,目標(biāo)對(duì)象被銷毀(或跳出),然后源對(duì)象的相關(guān)部分也被銷毀。深度復(fù)制是為目標(biāo)對(duì)象重新分配空間,它可以從源對(duì)象的操作中分離出來。