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