第一种情况(保存引用至变量a,在修改变量a的值):var obj = [ { name: { test: 'nihao' } } ]; // 未修改的对象console.log('原始对象:' , JSON.parse(JSON.stringify(obj)));// 保存引用var data = obj[0]['name'];// 修改data = 'hello'; // 修改不会作用到对象 obj !!console.log('修改name属性后的对象:' , JSON.parse(JSON.stringify(obj)));上面代码执行结果预览:第二种情况(不保存引用,直接修改):var obj = [ { name: { test: 'nihao' } } ];// 未修改的对象console.log('原始对象:' , JSON.parse(JSON.stringify(obj)));// 不保存引用后修改,即直接修改obj[0]['name'] = 'hello'; // 能够作用到对象 Obj!!console.log('修改name属性后的对象:' , JSON.parse(JSON.stringify(obj)));上面代码运行结果预览:为什么会出现如此奇葩的现象??我实在不太明白....,求解惑
添加回答
举报
0/150
提交
取消