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 相关文章推荐
event.X和event.clientX的区别分析
Oct 06 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
May 01 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
Javascript验证方法大全
Sep 21 Javascript
利用Angularjs和bootstrap实现购物车功能
Aug 31 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 Javascript
浅谈JavaScript的闭包函数
Dec 08 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
Oct 01 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经典的给图片加水印程序
2006/12/06 PHP
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
解析javascript图片懒加载与预加载的分析总结
2016/10/27 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
Python引用模块和查找模块路径
2016/03/17 Python
Python科学画图代码分享
2017/11/29 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
创业计划书撰写原则
2014/01/25 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
开票证明
2015/06/23 职场文书
中秋节主题班会
2015/08/14 职场文书