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 相关文章推荐
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
常用的JavaScript WEB操作方法分享
Feb 28 Javascript
JavaScript脚本库编写的方法
Dec 09 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
AngularJS实用开发技巧(推荐)
Jul 13 Javascript
JavaScript中的编码和解码函数
Feb 15 Javascript
jQuery树控件zTree使用方法详解(一)
Feb 28 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
Jul 09 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
基于js中this和event 的区别(详解)
Oct 24 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
JS变量提升及函数提升实例解析
Sep 03 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
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Python set常用操作函数集锦
2017/11/15 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
什么是聚集索引和非聚集索引
2012/01/17 面试题
教你打造完美的创业计划书
2014/01/06 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL