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实现的手风琴侧边菜单效果
Mar 29 jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
jQuery实现简单全选框
Sep 13 jQuery
jQuery实现本地存储
Dec 22 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 高手之路(三)
2006/10/09 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
介绍Python的Django框架中的QuerySets
2015/04/20 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
一百行python代码将图片转成字符画
2021/02/19 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
一名女生的自荐信
2013/12/08 职场文书
业务部主管岗位职责
2014/01/29 职场文书
小学教师师德整改措施
2014/09/29 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
捐助感谢信
2015/01/22 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
培根随笔读书笔记
2015/07/01 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android