Я работаю с моделями backbone.js, поэтому я не знаю, относится ли мой вопрос к тому, как магистраль обрабатывает клонирование, или это относится к javascript в целом. По сути, мне нужно клонировать модель, у которой есть свойство атрибута, назначенное объекту. Проблема в том, что когда я обновляю атрибут родителя или клона, обновляется и другая модель. Вот быстрый пример:
var A = Backbone.Model.extend({});
var a = new A({'test': {'some': 'crap'}});
var b = a.clone();
a.get('test')['some'] = 'thing';
// I could also use a.set() to set the attribute with the same result
console.log(JSON.stringify(a))
console.log(JSON.stringify(b))
, который регистрирует следующее:
{"test":{"some":"thing"}}
{"test":{"some":"thing"}}
Я бы предпочел клонировать a так, чтобы b не ссылался ни на один из его атрибутов. Любая помощь будет оценена.