我有一个这样的类:
现在,这个元素数组被存储在一个对象中,然后将该对象推入数组
现在有时候我需要一个元素的副本,所以我需要做类似这样的事情:
问题是,我得到的
陷入这样微不足道的问题真是让人沮丧...
这是我创建的一个fiddle来测试它:http://jsfiddle.net/E6wLW/。
function Element(){
this.changes = {};
}
现在我有一个"Class"的实例,像这样:el = new Element()
。这些实例被存储在一个数组中,像这样:elements.push(el)
。现在,这个元素数组被存储在一个对象中,然后将该对象推入数组
states
中。现在有时候我需要一个元素的副本,所以我需要做类似这样的事情:
var cloned = $.extend(true, {}, states[0])
。这里我假设我们克隆了第一个状态。问题是,我得到的
state[1].elements[0]
仍然指向原始实例。因此,我对克隆对象所做的任何更改都会同时更改原始实例。陷入这样微不足道的问题真是让人沮丧...
这是我创建的一个fiddle来测试它:http://jsfiddle.net/E6wLW/。