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 相关文章推荐
2012年开发人员的16款新鲜的jquery插件体验分享
Dec 28 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
jQuery实现手机版页面翻页效果的简单实例
Oct 05 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
String字符串截取的四种方式总结
Nov 28 Javascript
js原生代码实现轮播图的实例讲解
Jul 28 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
JQuery元素快速查找与操作
Apr 22 jQuery
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
JavaScript数组方法的错误使用例子
Sep 13 Javascript
JS实现图片切换效果
Nov 17 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
一个简易需要注册的留言版程序
2006/10/09 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
Python sys.path详细介绍
2013/10/17 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Django使用rest_framework写出API
2020/05/21 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
农村党支部先进事迹
2014/01/14 职场文书
英语感恩演讲稿
2014/01/14 职场文书
合伙经营协议书
2014/04/18 职场文书
英语分层教学实施方案
2014/06/15 职场文书
通讯稿格式及范文
2015/07/22 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android