`數組
/** * 深拷貝 * @param {object} obj 要拷貝的對象 */ function deepClone(obj={}){ if(typeof obj!=='object' || obj == null){ // obj是 null ,或者不是對象和數組,直接返回 return obj; } // 初始化返回結果 let result; if(obj instanceof Array){ result=[]; }else{ result={}; } for(let key in obj){ //判讀key是否是這個對象所擁有的屬性,保證key不是原型的屬性 if(obj.hasOwnProperty(key)){ // 遞歸調用!!! result[key]= deepClone(obj[key]); } } return result; }
`
出現循環引用的時候會報錯!!!
待完善。。。code