在网上搜索关键字 “javascript object clone”,可以找到很多实现克隆 Object 的代码,可是据我测试,让人满意的几乎没有。

今天发现 jQuery 的作者 John Resig 给别人的答复,尝试了一下确实很好用。

方法如下:

// 浅层复制(只复制顶层的非 object 元素)
var newObject = jQuery.extend({}, oldObject);// 深层复制(一层一层往下复制直到最底层)
var newObject = jQuery.extend(true, {}, oldObject);

测试如下:

var obj1 = {'a': 's1','b': [1,2,3,{'a':'s2'}],'c': {'a':'s3', 'b': [4,5,6]}
}var obj2 = $.extend(true, {}, obj1);
obj2.a='s1s1';
obj2.b[0]=100;
obj2.c.b[0]=400;console.log(obj1);
console.log(obj2);

obj2 内部元素的值改变之后,如果 obj1 的相应值保持不变,就说明复制成功。

转载于:https://www.cnblogs.com/jiji262/p/3210742.html

利用 jQuery 克隆 Object相关推荐

  1. js请求结果拦截机器_js利用jquery的jsonp来解决ajax跨域请求被浏览器拦截结果的问题...

    先来个表.页面太多对不起我也不知道这张表是从哪个博客保存过来的,所以无法注明博客地址.非常抱歉.URL说明是否允许通信 http://www.a.com/a.jshttp://www.a.com/b. ...

  2. 利用jQuery对无序列表排序 http://www.apkbus.com/android-80639-1-1.html

    利用jQuery对无序列表排序的原理是:获取到无序列表中的所有列表项,并转成数组形式,使用JavaScript函数对其进行排序后再次输出.其中使用到的jQuery函数有ready().get().te ...

  3. (转)基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式...

    http://www.cnblogs.com/wuhuacong/p/4085682.html 在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交, ...

  4. 怎么利用jquery.form 提交form

    说明:开发环境 vs2012 asp.net mvc c# 利用jQuery.form.js提交form 1.HTML前端代码 <%@ Page Language="C#"A ...

  5. 利用JQUERY实现无刷新注册功能

    利用JQUERY的$.getJSON()与后台数据异步传输,实现无刷新注册功能 该方法有三个参数,$.getJSON(String url, Hash params, Function callbac ...

  6. 利用jQuery实现用户名片小动画

    我爱撸码,撸码使我感到快乐! 大家好,我是Counter.下面给大家介绍利用jQuery实现的小动画,非常的简便,如果有原生js操作的话,那么就不止这么多行了.至于CSS,个人觉得,这边CSS布局也蛮 ...

  7. 利用 JQuery的load函数动态加载页面

    利用JQuery的load函数动态加载页面 JQuery有好多Ajax函数,其中load是用来动态加载一个页面的内容到指定的dom元素上. 我们来做个例子: 做一个上下(左右)结构的页面,其中下左部分 ...

  8. 利用jQuery实现回收站删除效果

    jQuery是一款非常强大的Javascript脚本库,我们开发者喜欢jQuery的原因除了它代码简洁外,更多的是因为jQuery插件非常丰富.今天我们用一个示例来解说jQuery是如何实现拖拽的. ...

  9. 利用jquery的imgAreaSelect插件实现图片裁剪示例

    将用户上传的图片进行裁剪再保存是现在web2.0应用中常常处理的工作,现在借助jquery的imgareaselect插件再配合PHP的GD库就可以轻松的实现这个在以前来说非常棘手的功能.我们来看看它 ...

最新文章

  1. Windows下Git的安装
  2. PHP设置二维码中间为logo
  3. 如何设计一门语言(四)——什么是坑(操作模板)
  4. dhtml是基于html的一门语言,什么是DHTML
  5. ABAP table buffer test
  6. [转载] java如何实现一个字符串的反转和替换
  7. PyTorch学习笔记:PyTorch初体验
  8. 学习小感之浅谈学习兴趣之路
  9. hadoop启动mysql服务_Hadoop MySQL 服务自启动配置
  10. 2022美赛M奖经验总结(3)选题思路篇
  11. 将AD原理图文件和PCB文件转换为KiCad格式的方法
  12. 翻译--CenterNet-将目标看作点
  13. pure-ftp 启用虚拟账户的问题
  14. Hololens学习(一)安装 部署Hololens开发环境
  15. Excel如何将某个特定值变为空值
  16. 子载波间隔与符号长度
  17. Materials - 角色分层材质规范
  18. 查看python openCV的版本号
  19. 唐宇迪之tensorflow学习笔记项目实战(LSTM情感分析)
  20. 红石外汇|每日汇评:黄金多头在美国CPI指数之前仍保持希望

热门文章

  1. 好文荐读 | 阿里巴巴为什么不用 ZooKeeper 做服务发现?
  2. Laravel最佳实践--事件驱动编程
  3. Eureka实例自动过期
  4. mybais逆向工程快速生成实体和基本xml
  5. springboot+mybatis+mysql+dubbo整合使用
  6. 16-修改文件内容 - vi
  7. TurnipBit开发板DIY呼吸的吃豆人教程实例
  8. Ray.Xu 写得 RTEMS 介绍(最新版本,全面,覆盖了CVS Head)
  9. JUNIT Hello World
  10. 没事做贴个代码,判断是否素数,顺便打个素数表(非原创)。