递归进行深拷贝 话不多说直接上代码 function clone(obj) { let newObj = new obj.constructor(); for(let key in obj) { if(obj.hasOwnProperty(key)) { let val = obj[key]; newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; // 这里arguments.callee(val)可以替换成clone(val),效果一样 } } return newObj; }