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 相关文章推荐
javascript demo 基本技巧
Dec 18 Javascript
重载toString实现JS HashMap分析
Mar 13 Javascript
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
Sep 05 Javascript
jquery实用技巧之输入框提示语句
Jul 28 Javascript
js封装tab标签页实例分享
Dec 19 Javascript
Angular组件化管理实现方法分析
Mar 17 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
微信小程序选择图片控件
Jan 19 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
德劲1104的电路分析与改良
2021/03/01 无线电
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
python显示生日是星期几的方法
2015/05/27 Python
在python 中实现运行多条shell命令
2019/01/07 Python
PyQt5实现简易计算器
2020/05/30 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
自荐信结尾
2013/10/27 职场文书
美国留学经济担保书
2014/05/20 职场文书
客房服务员岗位职责
2015/02/09 职场文书
单方投资意向书
2015/05/11 职场文书
win7配置本地ftp服务器的图文教程
2022/08/05 Servers