关于深复制和浅复制问题:元素数据内对象和数组不会被复制

来源:5-1 DOM拷贝clone()

指尖泛出的繁华

2016-08-20 15:14

基于元素数据内对象和数组不会背复制的问题:原对象:obj  浅复制对象: obj1  深复制对象:obj2      因为js对象都是存地址的,浅复制想到于复制了原对象的引用,也就是 obj1 = obj,即obj和obj1指向同一地址空间,改变一个势必改变另外一个。      深复制,就是重新创作一个新地址空间,然后吧obj的所有内容一项一项的复制到新地址空间,obj != obj2,修改其中任何一个,不影响另外一个。

写回答 关注

3回答

  • 黑发3980392
    2017-07-03 10:59:40

    有个疑问:如果像你这样说“浅复制改变一个势必改变另外一个。”,那么aaron1(即原对象:obj)字体颜色为黑色,浅复制对象: obj1  字体颜色改变为红色后,为什么原对象:obj的字体颜色依然是黑色呢?按照你所说的原对象:obj字体颜色应该也变为红色呀。求解答。

  • 冒牌小冬瓜
    2016-12-04 08:17:25

    深复制和浅复制,我不明白,为什么我的代码显示的都是一样效果呢

  • joke_c
    2016-08-20 15:27:24

    基于元素数据内对象和数组不会背复制的问题:原对象:obj  浅复制对象: obj1  深复制对象:obj2      因为js对象都是存地址的,浅复制想到于复制了原对象的引用,也就是 obj1 = obj,即obj和obj1指向同一地址空间,改变一个势必改变另外一个。      深复制,就是重新创作一个新地址空间,然后吧obj的所有内容一项一项的复制到新地址空间,obj != obj2,修改其中任何一个,不影响另外一个。

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114012 学习 · 590 问题

查看课程

相似问题