个人写法,有见解请指正
deepClone = function (obj) {
let res;
if (typeof obj === "object") {
res = Array.isArray(obj) ? [] : {};
for (key in obj) {
if (typeof obj[key] === "object") {
res[key] = deepClone(obj[key]);
} else {
res[key] = obj[key];
}
}
} else {
return obj;
}
return res;
};
let object = {
a: 1,
b: 2,
c: {
d: () => {},
},
};
let res = deepClone(object);