博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端多个变量指向同一个对象的问题
阅读量:7041 次
发布时间:2019-06-28

本文共 374 字,大约阅读时间需要 1 分钟。

环境:ReactJs

描述:在state里面有2个对象:a=[1,2,3,4]; b=[1,2,3,4]。【其中,数字1,2,3,4均表示一个对象】

然后更改b=[1,2],a没动。结果发现a也变成了a=[1,2]。

分析:原因是Js变量指向同一块内存,你在改变数组的时候,要把它深拷贝过来。

可用的解决办法是:a= JSON.stringify([1,2,3,4]),这样就没问题了。用的时候JSON.parse(a)解析。

 

或者另外一种类似的情况:a={"id": 1, "type": 0},b=a;这样也会让a和b指向同一个对象。而如果改为a={"id": 1, "type": 0};b={};b=a;这样以后再改b的值就不会影响到a了。

转载于:https://www.cnblogs.com/LisaJ/p/10974771.html

你可能感兴趣的文章