问题描述这两个的区别是一个开创了新的内存空间,另一个只是引用关系,但我想知道源码里面的区别,为什么会导致深拷贝和浅拷贝功能的区别相关代码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}
添加回答
举报
0/150
提交
取消