let obj = {
a:1,
b:[2,3]
}
function deepClone (obj){
let cloneObj = {}
if(obj === null) return obj // 因为typeof在检测null时 也是object 并且这里要用全等
if( obj instanceof Date) return new Date(obj) // b的instanceof 是否在a 的原形链上
if(obj instanceof RegExp) return new RegExp(obj)
if(typeof obj !== 'object') return obj
for( let i in obj ){
if(obj.hasOwnProperty(i)){
cbj[i] = deepClone(obj[i])
}
}
return let
}
手写深克隆
最新推荐文章于 2024-04-26 15:37:48 发布