解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)

// 解决 堆栈 出现的父对象和子对象相关联的问题 (三种方法)
// 深拷贝
    function dishesStackHandle(person, current) {
        var current = current || {};    
        for (var i in person) {
            if (typeof person[i] === 'object') {
                if (i == 'null' || i == null || person[i] == null) {
                    current[i] = {};
                } else {
            current[i] = (person[i].constructor === Array) ? [] : {};
        }
            dishesStackHandle(person[i], c[i]);
            } else {
                current[i] = person[i];
            }
        }
        return current;
    }
//递归拷贝
function deepCopy(obj) {
    var result = Array.isArray(obj) ? [] : {};
    for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
            if (typeof obj[key] === 'object') {
                result[key] = deepCopy(obj[key]); //递归复制
            } else {
                result[key] = obj[key];
            }
        }
    }
    return result;
}
var syb = Symbol('obj');
var person = {
   name :'tino',
   say: function(){
      console.log('hi');
   },
   ok: syb,
   un: undefined
}
var copy = JSON.parse(JSON.stringify(person))
// copy
// {name: "tino"}
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;
原文地址:https://www.cnblogs.com/yangsg/p/10148505.html