0
从函数中,我想返回作为参数传递的对象的修改版本,而不影响原始对象(即免费提供副作用)。所以基本上我想通过价值传递。我试图通过修改和返回(深)复制版本的对象来实现这一点。不过,我现在发现,我对克隆对象所做的修改仍然会影响到原始内容。复制对象javascript以便通过值传递
下面的代码片段演示了这一点,因为呼吁NEWOBJECT modifyMyData会影响的OLDobject
var clone = function(oldObject) {
return jQuery.extend(true, {}, oldObject);
}
var objf = function() {
var data = {list:[1],dic:{a:'3'}};
this.modifyMyData = function() {
data.list.push(3);
data.dic['e'] = 10;
}
this.getData = function() {
return data;
}
}
var old = new objf;
var newo = clone(old);
newo.modifyMyData();
数据我怎样才能解决这个得到什么?