深拷贝
/*判断变量类型*/
function checkedType(obj){
return Object.prototype.toString.call(obj).slice(8, -1)
}
// 深拷贝 深拷贝 深拷贝 深拷贝 深拷贝 深拷贝 深拷贝 深拷贝
/*深拷贝*/
function deepClone (obj) {
let result;
if(typeof obj === 'object' && obj!== null) {
result = obj.constructor === Array ? [] : {}
for(let key in obj) {
if(obj.hasOwnProperty(key)) {
result[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key];
}
}
} else {
result = obj
}
return result
}
本文探讨了JavaScript中深拷贝的概念,并提供了一个自定义的深拷贝函数实现。通过检查变量类型并递归复制对象属性,确保原始对象与复制对象间的独立性。对于复杂数据结构的复制,深拷贝是必不可少的工具。

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



