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 相关文章推荐
JS获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
js限制文本框只能输入整数或者带小数点的数字
Apr 27 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
javascript中判断json的方法总结
Aug 27 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
jQuery实现用户输入自动完成功能
Feb 13 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
JavaScript如何对图片进行黑白化
Apr 10 Javascript
vue实现修改图片后实时更新
Nov 14 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
JS数据类型分类及常用判断方法
Nov 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
学习使用PHP数组
2006/10/09 PHP
一周学会PHP(视频)Http下载
2006/12/12 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
解放web程序员的输入验证
2006/10/06 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Python修改MP3文件的方法
2015/06/15 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
农民致富事迹材料
2014/01/23 职场文书
产品质量承诺书范文
2014/03/27 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
解析Redis Cluster原理
2021/06/21 Redis
Go语言空白表示符_的实例用法
2021/07/04 Golang
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB