微信小程序中的深拷贝与浅拷贝问题

时间:2020-05-28
本文章向大家介绍微信小程序中的深拷贝与浅拷贝问题,主要包括微信小程序中的深拷贝与浅拷贝问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近在弄小程序项目的时候遇到了一个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));

好啦,关于深拷贝与浅拷贝的问题就到这,继续敲码....

原文地址:https://www.cnblogs.com/DoonyLiu/p/12830906.html