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-data的三种用法
Apr 18 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
jquery+css实现下拉列表功能
Sep 03 jQuery
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
jquery实现上传图片功能
Jun 29 jQuery
jQuery实现简单弹幕制作
Dec 10 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
Yii2如何批量添加数据
2016/05/17 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
Java里面如何创建一个内部类的实例
2015/01/19 面试题
Python的两道面试题
2013/06/29 面试题
法学专业个人求职信
2013/09/26 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
小学重阳节活动总结
2015/03/24 职场文书
2016高考寄语集锦
2015/12/04 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android