【发布时间】:2011-09-29 21:58:26
【问题描述】:
我有以下代码(我正在使用 jQquery 库):
var obj = {};
var objstring = '{"one":"one","two":"two","three":"three"}'
// first console output
console.log(objstring);
var jsonobj = $.parseJSON(objstring);
// second console output
console.log(jsonobj);
obj.key = jsonobj;
obj.key.test = "why does this affect jsonobj? (even in the second console output)";
// third console output
console.log(jsonobj);
我的问题: 当我执行 obj.key = jsonobj 并更改新 obj.key 中的值时。为什么 jsonobj 中的值也会发生变化?我将如何避免这种情况? (我想要一个 jsonobj 的新“副本”)。
我做了这个测试用例:http://jsfiddle.net/WSgVz/
【问题讨论】:
-
格式完美的问题和测试用例。令人难以置信的是,如今这种情况如此罕见。
标签: javascript javascript-objects