学习笔记,很多不足
手动实现深浅拷贝功能
浅拷贝
//------------------浅拷贝
function isObject(obj){
return typeof obj === 'Object' && obj !== null //判断输入变量的类型,筛选出array和object
}
function shallowClone(obj){
if(!isObject) return obj
var target = Array.isArray(obj) ? [] : {} //进一步判断是array还是object
for(var key in obj){
if(Object.hasOwnProperty.call(obj,key){
target[key] = obj[key]
}
}
return target
}
深拷贝
//------------------深拷贝
//------------------未考虑递归引用
function isObject(obj){
return typeof obj === 'Object' && obj !== null //判断输入变量的类型,筛选出array和object
}
function deepClone1(obj){
if(!isObject) return obj
var target = Array.isArray(obj) ? [] : {} //