function deepClone(target) { if(target === null || typeof target !== 'object') { return target; } let obj = Array.isArray(target) ? [] : {}; for(let key in target) { if(target.hasOwnProperty(key)) { obj[key] = deepClone(target[key]); } } return obj; } let data = { name: 'wx', age: 18, six: null, child: { name: 'ww' } } console.log(deepClone(data))