jQuery $.extend()用法总结


Posted in Javascript onJune 15, 2014

jQuery为开发插件提拱了两个方法,分别是:
jQuery.fn.extend(object);

jQuery.extend(object);
jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。这个应该很好理解吧。举个例子。

<span style="font-size:18px;"><html> 
<head> 
<title></title> 
</head> 
<body> 
<h3 class="ye">new soul</h3> 
<h3 class="ye">new soul</h3> 
<h3 class="ye">new soul</h3> 
<h3 class="ye">new soul</h3> 
<script type="text/javascript" src="jquery.2.0.3.js"></script> 
<script type="text/javascript"> 
jQuery.fn.myPlugin = function(options) { 
$options = $.extend( { 
html: "no messages", 
css: { 
"color": "red", 
"font-size":"14px" 
}}, 
options); 
return $(this).css({ 
"color": $options.css.color, }).html($options.html); 
} 

$('.ye').myPlugin({html:"So easy,yes?",css:{"color":"green","font-size":"20px"}}); 
</script> 
</body> 
</html> 
</span>

好的,上面你也看到了一点点$.extend()的用法。

1.合并多个对象。

这里使用的就是$.extend()的嵌套多个对象的功能。

所谓嵌套多个对象,有点类似于数组的合并的操作。

但是这里是对象。举例说明。

<span style="font-size:18px;">//用法: jQuery.extend(obj1,obj2,obj3,..) 
var Css1={size: "10px",style: "oblique"} 
var Css2={size: "12px",style: "oblique",weight: "bolder"} 
$.jQuery.extend(Css1,Css2) 
//结果:Css1的size属性被覆盖,而且继承了Css2的weight属性 
// Css1 = {size: "12px",style: "oblique",weight: "bolder"} 
</span>

2.深度嵌套对象。
<span style="font-size:18px;"> jQuery.extend( 
{ name: “John”, location: { city: “Boston” } }, 
{ last: “Resig”, location: { state: “MA” } } 
); 
// 结果: 
// => { name: “John”, last: “Resig”, location: { state: “MA” } } 
// 新的更深入的 .extend() 
jQuery.extend( true, 
{ name: “John”, location: { city: “Boston” } }, 
{ last: “Resig”, location: { state: “MA” } } 
); 
// 结果 
// => { name: “John”, last: “Resig”, 
// location: { city: “Boston”, state: “MA” } } 
</span>

3.可以给jQuery添加静态方法。
<span style="font-size:18px;"><html> 
<head> 
<title></title> 
</head> 
<body> 
<script type="text/javascript" src="jquery.2.0.3.js"></script> 
<script type="text/javascript"> 
$.extend({ 
add:function(a,b){return a+b;}, 
minus:function(a,b){return a-b}, 
multiply:function(a,b){return a*b;}, 
divide:function(a,b){return Math.floor(a/b);} 
}); var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7); 
console.log(sum); 
</script> 
</body> 
</html></span>
Javascript 相关文章推荐
拖动一个HTML元素
Dec 22 Javascript
extjs fckeditor集成代码
May 10 Javascript
网页和浏览器兼容性问题汇总(draft1)
Jun 01 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
May 03 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
JavaScript从数组中删除指定值元素的方法
Mar 18 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
js实现简易垂直滚动条
Feb 22 Javascript
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 Javascript
Vue封装全局过滤器Filters的步骤
Sep 16 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 #Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 #Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 #Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
Jun 14 #Javascript
Ext修改GridPanel数据和字体颜色、css属性等
Jun 13 #Javascript
jquery实现倒计时代码分享
Jun 13 #Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 #Javascript
You might like
PHP中cookies使用指南
2007/03/16 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
php的大小写敏感问题整理
2011/12/29 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
微信支付开发维权通知实例
2016/07/12 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
Python构建网页爬虫原理分析
2017/12/19 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
linux下进程间通信的方式
2013/01/23 面试题
假日旅行社实习自我鉴定
2013/09/24 职场文书
保密工作承诺书
2014/08/29 职场文书
毕业生评语大全
2015/01/04 职场文书
简历自荐信范文
2015/03/09 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
工作收入证明模板
2015/06/12 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android