第一種情況(保存引用至變量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)));上面代碼執(zhí)行結(jié)果預覽:第二種情況(不保存引用,直接修改):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)));上面代碼運行結(jié)果預覽:為什么會出現(xiàn)如此奇葩的現(xiàn)象??我實在不太明白....,求解惑
怎么解決修改一個值為對象的屬性時出現(xiàn)的奇葩現(xiàn)象??
茅侃侃
2018-08-30 14:13:27