如何实现一个JavaScript对象的深度复制功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计120个文字,预计阅读时间需要1分钟。
1. [代码] [JavaScript] 代码:function isClass(obj) { if (obj===null) return NULL; if (obj===undefined) return Undefined; return Object.prototype.toString.call(obj).slice(8, -1); }
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; }
本文共计120个文字,预计阅读时间需要1分钟。
1. [代码] [JavaScript] 代码:function isClass(obj) { if (obj===null) return NULL; if (obj===undefined) return Undefined; return Object.prototype.toString.call(obj).slice(8, -1); }
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; }

