为了账号安全,请及时绑定邮箱和手机立即绑定

深拷贝和浅拷贝的源码区别解析

深拷贝和浅拷贝的源码区别解析

呼唤远方 2018-12-16 08:32:58
问题描述这两个的区别是一个开创了新的内存空间,另一个只是引用关系,但我想知道源码里面的区别,为什么会导致深拷贝和浅拷贝功能的区别相关代码this.dataInfo = JSON.parse(JSON.stringify(data[0][0])); this.dataInfo = data[0][0];你期待的结果是什么?实际看到的错误信息又是什么?
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

如果是浅拷贝,两个的值则会相互影响,而深拷贝则不会

data[0][0]={a:1}
this.dataInfo = JSON.parse(JSON.stringify(data[0][0]));
data[0][0]={a:2}
console.log(this.dataInfo) // {a:1}
this.dataInfo={a:3}
console.log(data[0][0]) // {a:2}

data[0][0]={a:1}
this.dataInfo = data[0][0];
data[0][0]={a:2}
console.log(this.dataInfo) // {a:2}
this.dataInfo={a:3}
console.log(data[0][0]) // {a:3}


查看完整回答
反对 回复 2018-12-16
  • 1 回答
  • 0 关注
  • 595 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号