我正在使用js / jQuery并尝试创建一个真正的克隆 – 我目前正在使用jQuery.我希望在多级对象中甚至可以对子对象进行深度克隆,但事实并非如此.下面是我的测试代码和输出,让我相信jQuery的深度克隆实际上并没有克隆所有的子对象.
有没有人写过真正的深度克隆函数,或者有没有办法使jQuery的工作符合预期?
码:
function deepClone (obj) {
return $.extend(true, {}, obj);
};
var orig = {};
orig.companyData = {};
orig.companyData.TEST= 1;
var deep1 = deepClone(orig);
deep1.companyData.TEST= 0;
var deep2 = deepClone(orig);
console.log("orig: " + orig.companyData.TEST);
console.log("deep1: " + deep1.companyData.TEST);
console.log("deep2: " + deep2.companyData.TEST);
控制台输出:
注意:我期望1,0,1
0
0
0