克隆JS对象的三个实用方法
来源:互联网 发布:国家大数据行动计划 编辑:程序博客网 时间:2024/04/30 11:12
第一种:
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; }
0 0
- 克隆JS对象的三个实用方法
- 克隆JS对象的三个实用方法
- 克隆JS对象的三个实用方法
- JS克隆对象方法
- js对象的克隆
- JS 对象克隆方法总结
- js clone对象的三个方法
- js克隆对象、数组的常用方法【clone】
- js克隆对象、数组的常用方法【clone】
- JS 对象合并与克隆方法的分类与比较
- js对象的深度克隆!
- js对象的深度克隆
- js对象的深度克隆
- 实用的js方法
- JS中 对象的深度克隆
- js对象克隆
- JS对象之克隆
- js对象深度克隆
- Java工具类
- STM32F05x移植GD32F1x0注意事项
- JNI入门程序
- 【最讨厌那些不开源的】小米的米UI的BOTTOMVIEW源码完美反编译
- 邓白氏编码 苹果证书申请完的感受
- 克隆JS对象的三个实用方法
- Unix/Linux环境C编程入门教程(11) 开发环境搭建VMWare虚拟安装之虚拟化检测
- Visual Studio代码字体
- 2010-11-01 22:04 Codewarrior for HCS12的中断服务程序编写说明
- 在 R 中安装 XML包 报错 cannot find xml2-config
- 问题小结:tomcat-严重: Error initializing endpoint
- JS的常用正则表达式
- IOS发布注意事项
- 调用手机相机功能