4 回答

TA贡献1802条经验 获得超5个赞
function deepClone(data){
var type = getType(data);
var obj;
if(type === 'array'){
obj = [];
} else if(type === 'object'){
obj = {};
} else {
//不再具有下一层次
return data;
}
if(type === 'array'){
for(var i = 0, len = data.length; i < len; i++){
obj.push(deepClone(data[i]));
}
} else if(type === 'object'){
for(var key in data){
obj[key] = deepClone(data[key]);
}
}
return obj;
}

TA贡献1829条经验 获得超4个赞
纯数据对象的话可以用JSON的接口,
var obj_snapshot = JSON.parse(JSON.stringify(obj))
如果是带有function的js对象的话,那就。。。复杂点,写个克隆吧
添加回答
举报