为什么修改变量值会影响不相关的变量

时间:2020-08-31 10:51:51

标签: javascript

var data = '{"order_id":123,"order_status":"pending","items":{"111":{"id":111,"sku":"9876543","additional_sku":["11112345","111123457"],"qty":1,"name":"nama product 1"},"222":{"id":222,"sku":"4314143141","additional_sku":[],"qty":3,"name":"nama product 2"},"333":{"id":333,"sku":"524523423422","additional_sku":["22212345","222123457"],"qty":3,"name":"nama product 2"}}}';

var1 = JSON.parse(data);
console.log(var1['items']);  //log1
var2 = var1['items'];
var3 = var2;

//var3[111]['qty'] = 0;   //modify data line
console.log(var1['items'][111]['qty']);  //log2
console.log(var3[111]['qty']);  //log3

这太奇怪了:

  1. 为什么在log1中值为“ var1 ['items'] [111] ['qty'] = 0”?但是当您注释/删除“修改数据行”时,log1显示“ var1 [111] ['qty'] = 1”。在log1中,我们还没有修改任何内容。但是数据神秘地改变了。谁更改数据?

  2. 我们仅更改var3值,但是为什么var1值会受到影响?

0 个答案:

没有答案