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();
數據我怎樣才能解決這個得到什麼?