var obj ={ a:'xxx', b:'yyy', obj1:{ a:'xxx', b:'yyy', } } const deep =(obj)=>{ // 检查输入是否是对象 if (typeof obj !== 'object' || obj === null) { return obj; // 如果不是对象则直接返回原始值 } // 创建一个新的空对象或数组,用于存储拷贝后的值 const copy = Array.isArray(obj) ? [] : {}; // 遍历原始对象的属性 for (let key in obj) { if (obj.hasOwnProperty(key)) { // 对每个属性进行递归拷贝 copy[key] = deep(obj[key]); } } return copy; } console.log(deep(obj))