作家
登录

克隆javascript对象的三个方法小结

作者: 来源:www.28hudong.com 2013-03-30 01:02:38 阅读 我要评论

方法一 复制代码 代码如下: function clone(obj){ var o; switch(typeof obj){ case 'undefined': break; case 'string' : o = obj + '';break; case 'number' : o = obj - 0;break; case 'boolean' : o = obj;break; case 'object' : if(obj === null){ o = null; }else{ if(obj instanceof Array){ o = []; for(var i = 0, len = obj.length; i < len; i++){ o.push(clone(obj[i])); } }else{ o = {}; for(var k in obj){ o[k] = clone(obj[k]); } } } break; default: o = obj;break; } return o; } 方法二 复制代码 代码如下: function clone2(obj){ var o, obj; if (obj.constructor == Object){ o = new obj.constructor(); }else{ o = new obj.constructor(obj.valueOf()); } for(var key in obj){ if ( o[key] != obj[key] ){ if ( typeof(obj[key]) == 'object' ){ o[key] = clone2(obj[key]); }else{ o[key] = obj[key]; } } } o.toString = obj.toString; o.valueOf = obj.valueOf; return o; } 方法三 复制代码 代码如下: function clone3(obj){ function Clone(){} Clone.prototype = obj; var o = new Clone(); for(var a in o){ if(typeof o[a] == "object") { o[a] = clone3(o[a]); } } return o; }

  推荐阅读

  javascrip客户端验证文件大小及文件类型并重置上传

下面是我写的一个通用的javascrip脚本,虽然调用时需要赋的参数比较多,但都是实际需要中真正需要使用到的。各位可以参考,并改成自己需要的脚本。 复制代码 代码如下: /*****获取文件信息 edit by zhaogw 参考by >>>详细阅读


本文标题:克隆javascript对象的三个方法小结

地址:http://www.17bianji.com/kaifa2/JS/25030.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)