我正在使用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不会引用它的任何属性。任何帮助,将不胜感激。