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插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
jQuery选择器之子元素选择器详解
Sep 18 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 jQuery
jQuery实现简单全选框
Sep 13 jQuery
jQuery实现图片切换效果
Oct 19 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
PHP 中关于ord($str)>0x80的详细说明
2012/09/23 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
javascript 常用功能总结
2012/03/18 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
事业单位公务员的职业生涯规划
2014/01/15 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
高效课堂教学反思
2016/02/24 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电