微信小程序中的深拷贝与浅拷贝问题
作者:互联网
最近在弄小程序项目的时候遇到了一个json对象复制的问题,也就是俗称的深拷贝与浅拷贝了。
一般用变量直接接收就是浅拷贝,那么如何理解浅拷贝与深拷贝的意义呢?
浅拷贝:只是将对象地址的复制,并没有开辟新内存栈,也就是说两个变量都指向了同一个栈地址,对其中一个进行改变删减时,
另一个值也会同样发生变化,这肯定不是我们想要的结果,例如以下方式直接调用
var oldObj = {"id":"1","name":"小红帽","ages":"12","gender":1,"socre":"90"}; //如果像以下方式调用的时候,则是浅拷贝 var copyObj = oldObj;
深拷贝:则是拷贝对象后存放到一个新内存栈中保存,两者指向不同的栈,改变其中的一个值并不会影响到另一个值
var oldObj = {"id":"1","name":"小红帽","ages":"12","gender":1,"socre":"90"}; //深拷贝 var copyObj = JSON.parse(JSONStringify(oldObj));
好啦,关于深拷贝与浅拷贝的问题就到这,继续敲码....
标签:oldObj,微信,ages,程序,小红帽,var,拷贝,id 来源: https://www.cnblogs.com/DoonyLiu/p/12830906.html