jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析


Posted in jQuery onMarch 06, 2019

本文实例讲述了jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法。分享给大家供大家参考,具体如下:

语法:jQuery.extend( [deep ], target, object1 [, objectN ] )

深浅拷贝对应的参数就是[deep],是可选的,为true或false。默认情况是false(浅拷贝),并且false是不能够显示的写出来的。如果想写,只能写true(深拷贝)

测试例子:

var object1 = {};
var object2 = {
  b:{
    mm:333
  },
  c:100
};
console.log('原来的object1--->'+JSON.stringify(object1));
console.log('原来的object2--->'+JSON.stringify(object2));
$.extend(true,object1, object2);
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));

测试结果

jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析

由测试结果知道,jQuery中$.extend(true,object1, object2);可以深拷贝对象,拷贝之后,改变其中一个对象的属性值,对另外一个没有影响。

接着在继续深入理解

测试例子

var object1 = {
  a: 0,
  b: {
    gg: 11,
    mm: 22
  }
};
var object2 = {
  b: {
    mm: 333
  },
  c: 100
};
//默认情况浅拷贝
//object1--->{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
//object2的banner覆盖了object1的banner,但是weight属性未被继承
//$.extend(object1, object2);
//深拷贝
//object1--->{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}
//object2的banner覆盖了object1的banner,但是weight属性也被继承了呦
$.extend(true,object1, object2);
console.log('原来的object1--->'+JSON.stringify(object1));
console.log('原来的object2--->'+JSON.stringify(object2));
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));

测试结果

jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
使用jQuery,Angular实现登录界面验证码详解
Apr 27 jQuery
jQuery日期范围选择器附源码下载
May 23 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
使vue实现jQuery调用的两种方法
May 12 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
jQuery实现消息弹出框效果
Dec 10 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jQuery实现朋友圈查看图片
Sep 11 jQuery
[jQuery] 事件和动画详解
Mar 05 #jQuery
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 #jQuery
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 #jQuery
jQuery.parseJSON()函数详解
Feb 28 #jQuery
jQuery each和js forEach用法比较
Feb 27 #jQuery
jQuery中each和js中forEach的区别分析
Feb 27 #jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 #jQuery
You might like
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
Python 探针的实现原理
2016/04/23 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Python函数参数分类原理详解
2020/05/28 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
自荐信模版
2013/10/24 职场文书
前台接待岗位职责
2013/12/03 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
工商管理自荐书
2014/07/06 职场文书
公务员年终个人总结
2015/02/12 职场文书
分享3个非常实用的 Python 模块
2022/03/03 Python