Je le code suivant (j'utilise le libary jQquery):Quelqu'un peut-il me expliquer cet objet javascript comportement "copie"
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);
Ma Question: Quand je ne obj.key = jsonobj et je changer valeurs dans la nouvelle obj.key. Pourquoi les valeurs de jsonobj changent-elles aussi? Et comment pourrais-je éviter cela? (Je veux une nouvelle "copie" de jsonobj).
J'ai fait ce cas de test: http://jsfiddle.net/WSgVz/
Excellente question formée et testcase. C'est incroyablement triste que ce soit si rare de nos jours. –