Live2D

console.log显示数据与展开运算符显示数据不一致

如图,console.log后台显示的数据与展开后不一致,源代码如下

造成该问题原因是深拷贝与浅拷贝的问题。

深拷贝与浅拷贝的区别:深拷贝在于引用类型的时候,浅拷贝只复制地址值,实际上还是指向同一堆内存中的数据,深拷贝则是重新创建了一个相同的数据,二者指向的堆内存的地址值是不同的。这个时候修改赋值前的变量数据不会影响赋值后的变量。

可以通过深拷贝的JSON方法解决该问题,如下

 

posted @ 2020-08-13 09:12  追光者。  阅读(672)  评论(0编辑  收藏  举报