我有以下代碼(我用的是jQquery libary):有人可以解釋我這個JavaScript對象「複製」行爲
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/
出色的問題和測試用例。現在這種情況非常罕見,令人難以置信的令人難過。 –