關于深復制和淺復制問題:元素數據內對象和數組不會被復制
基于元素數據內對象和數組不會背復制的問題:原對象:obj ?淺復制對象: obj1 ?深復制對象:obj2 ? ? ?因為js對象都是存地址的,淺復制想到于復制了原對象的引用,也就是 obj1 = obj,即obj和obj1指向同一地址空間,改變一個勢必改變另外一個。 ? ? ?深復制,就是重新創(chuàng)作一個新地址空間,然后吧obj的所有內容一項一項的復制到新地址空間,obj != obj2,修改其中任何一個,不影響另外一個。
基于元素數據內對象和數組不會背復制的問題:原對象:obj ?淺復制對象: obj1 ?深復制對象:obj2 ? ? ?因為js對象都是存地址的,淺復制想到于復制了原對象的引用,也就是 obj1 = obj,即obj和obj1指向同一地址空間,改變一個勢必改變另外一個。 ? ? ?深復制,就是重新創(chuàng)作一個新地址空間,然后吧obj的所有內容一項一項的復制到新地址空間,obj != obj2,修改其中任何一個,不影響另外一個。
2016-08-20
舉報
2017-07-03
有個疑問:如果像你這樣說“淺復制改變一個勢必改變另外一個?!?,那么aaron1(即原對象:obj)字體顏色為黑色,淺復制對象: obj1? 字體顏色改變?yōu)榧t色后,為什么原對象:obj的字體顏色依然是黑色呢?按照你所說的原對象:obj字體顏色應該也變?yōu)榧t色呀。求解答。
2016-12-04
深復制和淺復制,我不明白,為什么我的代碼顯示的都是一樣效果呢
2016-08-20
基于元素數據內對象和數組不會背復制的問題:原對象:obj ?淺復制對象: obj1 ?深復制對象:obj2 ? ? ?因為js對象都是存地址的,淺復制想到于復制了原對象的引用,也就是 obj1 = obj,即obj和obj1指向同一地址空間,改變一個勢必改變另外一個。 ? ? ?深復制,就是重新創(chuàng)作一個新地址空間,然后吧obj的所有內容一項一項的復制到新地址空間,obj != obj2,修改其中任何一個,不影響另外一個。