js 克隆

简介:

js 如何克隆一个对象呢?

Js代码   收藏代码
  1. var clone = function(src){  
  2.             var target = {};  
  3.             for(var i in src){  
  4.               if(typeof src[i]==='object'){  
  5.               target[i] = arguments.callee(src[i]);  
  6.                   
  7.               }else{  
  8.                 target[i] = src[i];  
  9.               }  
  10.             }  
  11.             return target;  
  12.         }  

 测试代码:

Js代码   收藏代码
  1. var obj2={name:"whuang",age:27,say:function(){console.log("Hello,"+this.name)}};  
  2. var obj3={school:"whut"};  
  3. obj2.sch=obj3;  
  4. var target2=clone(obj2);  
  5.   
  6. console.log(target2.sch.school);  
  7. obj2.sch.school="ccc";  
  8. console.log(target2.sch.school);  
  9. target2.say();  

 运行结果:

whut
whut
 
Hello,whuang

 

参考:

http://blog.csdn.net/zhaopei1125/article/details/6519680

相关文章
|
8月前
|
JavaScript
JS 数组克隆方法总结
JS 数组克隆方法总结
125 0
|
JavaScript
原生js实现对象的克隆
原生js实现对象的克隆
原生js实现对象的克隆
|
JavaScript 数据格式 JSON
js克隆
1. js 克隆分为简单克隆、深度克隆   2. 简单克隆: 原始类型为 为传递值,对象类型仍为引用传递。修改新的copy出来的对象,原始对象的数据会发生变化,反之,一样   3. 深度克隆: 所有的元素或属性完全复制,与原始对象完全脱离。
1063 0
|
Web App开发 JavaScript API
JS魔法堂:元素克隆、剪切技术研究
原文:JS魔法堂:元素克隆、剪切技术研究 一、前言                                     当需要新元素时我们可以通过 document.createElement 接口来创建一个全新的元素,也可以通过克隆已有元素的方式来获取一个新元素。
925 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0
|
2天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习