学习目标:
能够使用javascript递归实现深拷贝
学习内容:
深拷贝: 深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。
递归: 递归函数通常的形式是一个函数通过名称调用自己----------Javascript高级程序设计
function deepCopy(newobj,oldobj) {
for(var k in oldobj) {
//判断属性值属于哪种类型
//1.获取属性值
var item = oldobj[k];
//判断是否为数组
if(item instanceof Array) {
newobj[k] = [];
deepCopy(newobj[k],item);
}
//判断是否为对象
else if(item instanceof Object) {
newobj[k] = {};
deepCopy(newobj[k],item);
}
//简单数据类型
else {
newobj[k] = item;
}
}
}