// 深拷贝
function deepClone(obj) {
var clonedObj = obj.constructor === Array ? [] : {};
if (typeof obj === "object") {
for (var key in obj) {
if (obj[key] && typeof obj[key] === "object") {
// 如果子元素为对象,则递归复制
clonedObj[key] = deepClone(obj[key]);
} else {
// 非引用类型直接复制
clonedObj[key] = obj[key];
}
}
}
return clonedObj;
}
举例说明:
var data1 = {
name:'啧啧啧',
arr:['1','2','3']
}
var data2 = deepClone(data1)
console.log(data2); //name:'啧啧啧', arr:['1','2','3']
data2.name = '请问哦'
console.log(data1,data2); //name:'啧啧啧', arr:['1','2','3'] , name:'请问哦', arr:['1','2','3']
1万+

被折叠的 条评论
为什么被折叠?



