解决 堆栈 出现的父对象和子对象相关联的问题 (深拷贝)
// 解决 堆栈 出现的父对象和子对象相关联的问题 (三种方法)
// 深拷贝 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"}
一辈子很短,努力的做好两件事就好;第一件事是热爱生活,好好的去爱身边的人;第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;