jQuery.extend 函数的详细用法


Posted in Javascript onJune 27, 2012

Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。

Jquery的扩展方法原型是:

 

extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:
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"}
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。

也许你对该函数已经有一定的了解。我们再看一个jquery官方的例子(http://api.jquery.com/jQuery.extend/)
代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<scriptsrc="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
<divid="log"></div> 
<script> 
var defaults ={validate:false,limit:5,name:"foo"}; 
var options ={validate:true,name:"bar"}; 
/* merge defaults and options, without modifying defaults */ 
var settings =$.extend({},defaults,options); // 在插件开发中经常会用到 
varprintObj =typeofJSON !="undefined"?JSON.stringify :function(obj){ 
vararr =[]; 
$.each(obj,function(key,val){ 
varnext =key +": "; 
next +=$.isPlainObject(val)?printObj(val):val; 
arr.push(next ); 
}); 
return"{ "+ arr.join(", ")+" }"; 
}; $("#log").append("<div><b>defaults -- </b>"+printObj(defaults)+"</div>"); 
$("#log").append("<div><b>options -- </b>"+printObj(options)+"</div>"); 
$("#log").append("<div><b>settings -- </b>"+printObj(settings)+"</div>"); 
</script> 
</body> 
</html>

输出结果为:
defaults -- {"validate":false,"limit":5,"name":"foo"} //这里是原样输出defaults
options -- {"validate":true,"name":"bar"} //这里是原样输出options
settings -- {"validate":true,"limit":5,"name":"bar"} //合并defaults和options , 后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
Javascript 相关文章推荐
JS input 数字验证代码
Jul 30 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
Nov 04 Javascript
js或者jquery判断图片是否加载完成实现代码
Mar 20 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
May 16 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
Jquery选择器中使用变量实现动态选择例子
Jul 25 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
Oct 10 Javascript
jQuery实现的placeholder效果完整实例
Aug 02 Javascript
深入理解Node内建模块和对象
Mar 12 Javascript
Angular封装搜索框组件操作示例
Apr 25 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 Javascript
基于JS实现操作成功之后自动跳转页面
Sep 25 Javascript
浅谈Javascript事件处理程序的几种方式
Jun 27 #Javascript
javascript 事件处理程序介绍
Jun 27 #Javascript
jquery 获取自定义属性(attr和prop)的实现代码
Jun 27 #Javascript
IE事件对象(The Internet Explorer Event Object)
Jun 27 #Javascript
跨浏览器的事件对象介绍
Jun 27 #Javascript
UI Events 用户界面事件
Jun 27 #Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 #Javascript
You might like
Yii数据库缓存实例分析
2016/03/29 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
Prototype 学习 Prototype对象
2009/07/12 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
Python中__name__的使用实例
2015/04/14 Python
Python类属性的延迟计算
2016/10/22 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
Django REST framework内置路由用法
2019/07/26 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python文件路径名的操作方法
2019/10/30 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
JPA的特点
2014/10/25 面试题
运动会广播稿300字
2014/01/10 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书