js 深淺拷貝

2021-10-09 14:53:28 字數 747 閱讀 8445

深拷貝就是複製內部內容

淺拷貝就是複製記憶體位址

var obj =

;//淺拷貝 -->引用傳遞(淺拷貝就是賦值,將鑰匙複製乙份)

var o = obj;

//深拷貝 -->內部內容複製乙份(將房子複製乙份)

//方法一

var str =

json

.stringify

(obj)

;var obj3 =

json

.parse

(str)

;//方法二

var obj4 =

;//遍歷obj物件,將obj物件的內容複製到obj4中。

for(

var key in obj)

//節點的深淺拷貝

var parent = document.

getelementsbyclassname

('parent')[

0];var one = parent.children[0]

;//淺複製,只複製節點本身,不複製節點內容

var cloneone = one.

clonenode()

;//深複製,複製節點本身和內部的子節點

var cloneone = one.

clonenode

(true);

parent.

(cloneone)

;

JS深 淺拷貝

在js中,資料型別分為基本資料型別和引用資料型別兩種。對於基本資料型別來說,它的值直接儲存在棧記憶體中,而對於引用型別來說,它在棧記憶體中只是儲存了乙個指向對記憶體的引用,而真正的資料儲存在堆記憶體中。object array 這兩個就是引用型別,當我門直接去拷貝的話 copyobj obj 拷貝的...

js深淺拷貝

1.什麼是深淺拷貝 簡單的來說,加入b複製a a改變 如果b也跟著改變的話,那就是淺拷貝,反之是深拷貝 實現淺拷貝方法 1.賦值操作 var a 0 1,2 3,4 var b a a 0 5console log a 5,1,2,3,4 console log b 5,1,2,3,4 2.es6 ...

JS深淺拷貝

1.淺拷貝 將原物件或原陣列的引用直接賦給新物件,新陣列,新物件 陣列只是原物件的乙個引用 2.深拷貝 建立乙個新的物件和陣列,將原物件的各項屬性的 值 陣列的所有元素 拷貝過來,是 值 而不是 引用 使用深拷貝的場景 在改變新的陣列 物件 的時候,不改變原陣列 物件 1.for迴圈遍歷陣列 var...