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 相关文章推荐
JavaScript中实现块作用域的方法
Apr 01 Javascript
Javascript实现CheckBox的全选与取消全选的代码
Jul 20 Javascript
IE6下CSS图片缓存问题解决方法
Dec 09 Javascript
jquery的flexigrid无法显示数据提示获取到数据
Jul 19 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
Jan 26 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 Javascript
javascript结合canvas实现图片旋转效果
May 03 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
javascript html5摇一摇功能的实现
Apr 19 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP图片水印类的封装
2017/07/06 PHP
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
JS实现图片拖拽交换效果
2018/11/30 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
用Node写一条配置环境的指令
2019/11/14 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python守护线程用法实例
2017/06/23 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
什么时候需要进行强制类型转换
2016/09/03 面试题
会计电算化大学生职业规划书
2014/02/05 职场文书
学校标语大全
2014/06/19 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
单位综合评价意见
2015/06/05 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang