js对象的深层 拷贝
2014-12-26 16:09
429 查看
//对象的深层 拷贝 function deepCopy(src,dist){ dist = dist || {}; for(var i in src){ if(typeof src[i] == 'object'){ //这里一定要初始化对象,不然传递null进去,没有对象指针, //无法将生成的对象赋值到dist[i]上 dist[i] = (src[i].constructor === Array)?[]:{}; //递归执行,dist[i] 已经赋初始值 deepCopy(src[i],dist[i]); }else{ dist[i] = src[i]; } } return dist; } var demo = { name : "zhangsan", age : 12, prefer: ["吃饭","睡觉","喝水"], state:{ location:"南京", cn:"中国" } } //传递一个 {} 和 (null,undefined)效果是不一样的, //传递的是null没有对象指针,执行深拷贝后dist没有赋值。 var dist = {}; var xx = deepCopy(demo,dist);
相关文章推荐
- 对象序列化与反序列化 深层拷贝
- js对象深拷贝
- JS数组和对象的深拷贝
- 超实用的JavaScript代码段 Item8 -- js对象的(深)拷贝
- 分享2个功能的js代码(去掉数组里重复的项、数组或对象深拷贝)
- 关于自定义类对象数组的深层拷贝(转载)
- js拷贝对象
- JS中实现数组和对象的深拷贝和浅拷贝
- JS面向对象组件(五) -- 复制对象(拷贝继承)
- 超实用的JavaScript代码段 Item8 -- js对象的(深)拷贝
- js对象深拷贝的简单实现
- JS对象的浅拷贝与深度拷贝
- js对象深拷贝
- js 数组的深浅拷贝 js对象的深浅拷贝
- js 数组对象的深浅拷贝
- JS的继承是从一个对象原型向另一个对象原型的简单拷贝
- js对象深拷贝和对象扩展
- Java对象的深层拷贝
- js实现的对象深拷贝
- js对象深拷贝