我使用jQuery(1.11.2)和$ .extend来克隆一个对象。这不能按预期工作。
我有一个包含两个属性的源对象,其中函数的自定义实例(新函数...)作为值。这些值似乎被复制为引用,我希望它们被复制为值。请参阅下面的代码。
var AnyObj = function(){
this.attribute = "anyAttribute";
};
var target = {
a: new AnyObj(),
b: new AnyObj()
}
//this prints "anyAttribute"
console.log(target.a)
//now I create a deep copy
var copy = $.extend(true, {},target);
//and I change the attribute of the COPY(!!!)
copy.a.attribute = "YAYA";
//this prints an object with the value YAYA
console.log(copy.a)
//this should NOT print an object with the value YAYA
console.log(target.a)