实现JS 对象的深度拷贝

2017-09-01  本文已影响0人  强仔_5787
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]; //值类型的数据直接进行拷贝
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读