1. [代码] [JavaScript]代码 function isClass(obj) { if(obj===null) return "NULL"; if(obj===undefined) return "Undefined"; return Object.prototype.toString.call(obj).slice(8,-1); } function deepClone(obj) { var result,oClass=isClass(obj);
1. [代码][JavaScript]代码
function isClass(obj) { if(obj===null) return "NULL"; if(obj===undefined) return "Undefined"; return Object.prototype.toString.call(obj).slice(8,-1); } function deepClone(obj) { var result,oClass=isClass(obj); if(oClass==="Object") { result={}; } else if(oClass==="Array") { result=[]; } else { return obj; } for(key in obj) { var copy=obj[key]; if(isClass(copy)==="Object") { result[key]=arguments.callee(copy); } else if(isClass(copy)==="Array") { result[key]=arguments.callee(copy); } else { result[key]=copy; } } return result; }