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))
}

原文地址:https://www.cnblogs.com/wuyongyu/p/8649466.html