jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析


Posted in jQuery onJuly 25, 2018

本文实例讲述了jQuery.extend 与 jQuery.fn.extend的用法及区别。分享给大家供大家参考,具体如下:

jQuery是一个JavaScript类,如$("#input1") 生成一个 jQuery类的实例。

jQuery为开发插件提拱了两个方法:jQuery.fn.extend()jQuery.extend()

1、jQuery.extend()

(1)扩展 jQuery 类本身,为jQuery类添加类方法(静态方法)

jQuery.extend({
add: function(a, b) { alert(a + b); }
});
jQuery.add(10,20); //30

(2)jQuery.extend(object, object1, [objectN])用一个或多个其他对象来扩展一个对象,返回被扩展的对象

var obj = { name: 'Alice', age: 25, career: "teacher" };
var object = { name: 'Bruce', career: "doctor" };
jQuery.extend(obj, object); //obj = { name: 'Bruce', age: 25, career: "doctor" }

2、jQuery.fn.extend()

把对象挂载到 jQuery 的 prototype 属性,来扩展一个新的 jQuery 实例方法,也就是通过这个 extend 添加的新方法,实例化的 jQuery 对象都能使用,因为它是挂载在 jQuery.fn 上的方法。

查看jQuery源码可发现,jQuery.fn = jQuery.prototype。jQuery.fn挂在原型上,由于对原型的修改会影响所有实例,因此fn上的方法会对每一个jQuery实例有效。

jQuery.fn的扩展,就是为jQuery类添加成员函数,jQuery类的实例可以使用这个成员函数。

jQuery.fn.extend({
   clickFunc: function() {
      $(this).click(function(){
         alert($(this).val());
      });
   }
});
$("#input1").clickFunc(); //输出文本框的文本

3、jQuery.extend()jQuery.fn.extend()的区别

jQuery.extend()是为jQuery类添加类方法(静态方法),需要通过jQuery类来调用(直接使用 $.xxx 调用);

jQuery.fn.extend()是为jQuery类添加成员函数(实例方法),所有jQuery实例都可以直接调用(需要使用 $().xxx 调用)。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
利用JQUERY实现多个AJAX请求等待的实例
Dec 14 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
jQuery实现简单三级联动效果
Sep 05 jQuery
jQuery实现朋友圈查看图片
Sep 11 jQuery
jquery插件实现图片悬浮
Apr 16 jQuery
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 #jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 #jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 #jQuery
jquery实现搜索框功能实例详解
Jul 23 #jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 #jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 #jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 #jQuery
You might like
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
javascript实现下雨效果
2017/03/27 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
python编程嵌套函数实例代码
2018/02/11 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
python装饰器常见使用方法分析
2019/06/26 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
单位成立周年感言
2014/01/26 职场文书
运动会800米加油稿
2014/02/22 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
营业员岗位职责
2015/02/11 职场文书
综合素质评价自我评价
2015/03/06 职场文书
婚宴父母致辞
2015/07/27 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
Python中使用ipython的详细教程
2021/06/22 Python