JQuery中extend使用介绍


Posted in Javascript onMarch 13, 2014

Jquery中extend的扩展方法原型是:


1、extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:

2、var newSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。
如下例:

var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})

那么合并后的结果
result={name:"Jerry",age:21,sex:"Boy"}
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。

3、extend(boolean,dest,src1,src2,src3...)
第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致
例如

var result=$.extend( true, {}, 
{ name: "John", location: {city: "Boston",county:"USA"} }, 
{ last: "Resig", location: {state: "MA",county:"China"} } );

我们可以看出src1中嵌套子对象location:{city:"Boston"},src2中也嵌套子对象location:{state:"MA"},第一个深度拷贝参数为true,那么合并后的结果就是:
result={name:"John",last:"Resig",location:{city:"Boston",state:"MA",county:"China"}}

也就是说它会将src中的嵌套子对象也进行合并,而如果第一个参数boolean为false,我们看看合并的结果是什么,如下:
var result=$.extend( false, {}, 
{ name: "John", location:{city: "Boston",county:"USA"} }, 
{ last: "Resig", location: {state: "MA",county:"China"} } );

那么合并后的结果就是:
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
Javascript 相关文章推荐
网页中返回顶部代码(多种方法)另附注释说明
Apr 24 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
JavaScript数据类型详解
Apr 01 Javascript
七个不允许错过的jQuery小技巧
Dec 21 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 Javascript
js实现文字列表无缝滚动效果
Jun 23 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
vue-router 手势滑动触发返回功能
Sep 30 Javascript
jsonp格式前端发送和后台接受写法的代码详解
Nov 07 Javascript
vue实现PC端分辨率适配操作
Aug 03 Javascript
vue 单页应用和多页应用的优劣
Oct 22 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 #Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 #Javascript
利用try-catch判断变量是已声明未声明还是未赋值
Mar 12 #Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
Mar 12 #Javascript
jq实现酷炫的鼠标经过图片翻滚效果
Mar 12 #Javascript
jquery、js操作checkbox全选反选
Mar 12 #Javascript
网站繁简切换的JS遇到页面卡死的解决方法
Mar 12 #Javascript
You might like
php 分页原理详解
2009/08/21 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
php实现中文转数字
2016/02/18 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
js变换显示图片的实例
2013/04/16 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
python实现各种插值法(数值分析)
2019/07/30 Python
python开头的coding设置方法
2019/08/08 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
机械设计及其自动化求职推荐信
2014/02/17 职场文书
二手房购房意向书范本
2014/04/01 职场文书
双拥工作宣传标语
2014/06/26 职场文书
地震慰问信
2015/02/14 职场文书
志愿者个人总结
2015/03/03 职场文书
写给导师的自荐信
2015/03/06 职场文书
升学宴来宾致辞
2015/07/27 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
Python函数中的不定长参数相关知识总结
2021/06/24 Python