jQuery.extend函数的详细用法
jQuery 函数 详细 用法 extend
2023-06-13 09:14:34 时间
Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解。
Jquery的扩展方法原型是:
extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:
varnewSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。如下例:
varresult=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})
那么合并后的结果
result={name:"Jerry",age:21,sex:"Boy"}
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
也许你对该函数已经有一定的了解。我们再看一个jquery官方的例子(http://api.jquery.com/jQuery.extend/)
代码如下:
复制代码代码如下:
Jquery的扩展方法原型是:
extend(dest,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:
varnewSrc=$.extend({},src1,src2,src3...)//也就是将"{}"作为dest参数。
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给newSrc了。如下例:
varresult=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})
那么合并后的结果
result={name:"Jerry",age:21,sex:"Boy"}
也就是说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
也许你对该函数已经有一定的了解。我们再看一个jquery官方的例子(http://api.jquery.com/jQuery.extend/)
代码如下:
<!DOCTYPEhtml>
<html>
<head>
<scriptsrc="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<divid="log"></div>
<script>
vardefaults={validate:false,limit:5,name:"foo"};
varoptions={validate:true,name:"bar"};
/*mergedefaultsandoptions,withoutmodifyingdefaults*/
varsettings=$.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,后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
相关文章
- jquery定时执行函数_jquery自动提交
- 生成二维码的 jQuery 插件:jquery.qrcode.js
- jQuery Google Charts—-一个封装google chart api的jquery插件详解编程语言
- JQuery的父、子、兄弟节点查找,节点的子节点循环详解编程语言
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js详解编程语言
- jQuery实现手风琴效果详解编程语言
- jquery serialize()函数用法详解编程语言
- 用JQuery实现的自定义对话框
- 基于jQuery的表格操作插件
- jQuery工具函数学习资料
- Jquery从头学起第四讲jquery入门教程
- 初窥JQuery-Jquery简介入门了解篇
- Jquery知识点三jquery表单对象操作
- jquery插件学习(一)
- 基于jquery的用鼠标画出可移动的div
- JQuery获取各种宽度、高度(format函数)实例
- JQuery的read函数与js的onload不同方式实现
- JQuery中关于jquery.js与jquery.min.js的比较探讨
- jQuery函数的等价原生函数代码示例
- jquery获取iframe中的dom对象(两种方法)
- Jquery封装tab自动切换效果的具体实现
- jQuery教程$()包装函数来实现数组元素分页效果
- CSS+jQuery实现的一个放大缩小动画效果
- jQuery选择器全面总结
- jquery中ajax函数执行顺序问题之如何设置同步
- jquery中子元素和后代元素的区别示例介绍
- 通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
- jQuery插件开发详细教程
- jQuery实现视频作为全屏幕背景
- 使用JavaScript链式编程实现模拟Jquery函数
- 分享2个jQuery插件--jquery.fileupload与artdialog
- 自己动手手写jQuery插件总结
- jQuery中的read和JavaScript中的onload函数的区别