JS的深拷贝

 

 

var obj = {
    name: "wuyongyu",
    age: 18
}

 

 

第一种方式:

function deepClone(obj){
  // 判断传入的数据类型 - 数组或者对象
    var o = obj instanceof Array ? [] : {}
  // 对数据进行拷贝 - 分情况
    for(var k in obj){
        if(typeof obj[k] === 'object' && obj[k] != undefined){
            o[k] = deepClone(obj[k]);
        }else if(typeof obj[k] === 'object' && obj[k] == undefined){
            o[k] = null;
        }else{
            o[k] = obj[k];
        }
    }
    return o;
}

 

第二种方式:

function deepClone(obj){
    return JSON.parse(JSON.stringify(obj))
}

 

 

posted @ 2018-03-26 10:50  wuyongyu  阅读(141)  评论(0编辑  收藏  举报