JS-引用类型obj的使用注意情况

项目中碰到一个数组对象引用问题大概如下:

1.基本操作

this._list = this.baseData.list;

在接收服务器数据时 数据发生了变化

this.baseData.list = [];

this.baseData.list = severData.list;

2.发现问题

然后使用该数组对象的引用时发现引用对象和本来的数组对象不一样 this._list !== this.baseData.list(伪代码)

3.问题解析

这是因为本来的数组对象在接收服务器数据时,重新引用了一块内存,就是说该变量引用的内存发生了变化,

而此时this._list变量指向的内存还是之前的内存,所以导致两个对象的值不一样

4.处理方法

要么重新赋值,要么原来的对象不重新赋值,而是清空数组,然后获取数组的每一项即可

5.参考文章:https://www.cnblogs.com/yuyifan/p/6204365.html

猜你喜欢

转载自blog.csdn.net/xiaye_go/article/details/82316204