实现JS 对象的深度拷贝

function deepCopy(obj1,obj2) {
    for (var k in obj2) { 
        if(obj2.hasOwnProperty(k)){ //不进行原型的拷贝
            if(typeof obj2[k] == 'object') { //引用类型的数据单独处理
                obj1[k] = Array.isArray(obj2[k])?[]:{};
                deepCopy(obj1[k],obj2[k]); //递归处理引用类型数据
            }else{
                obj1[k] = obj2[k]; //值类型的数据直接进行拷贝
            }
        }
    }
}

你可能感兴趣的:(实现JS 对象的深度拷贝)