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+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
基于jquery实现多级菜单效果
Jul 25 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
20个最常见的jQuery面试问题及答案
May 23 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
jquery的$().each和$.each的区别
Jan 18 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
jquery实现广告上下滚动效果
Mar 04 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 模拟POST|GET操作实现代码
2010/07/20 PHP
php递归json类实例
2014/12/02 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
用cssText批量修改样式
2009/08/29 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python切片知识解析
2016/03/06 Python
Python对象转JSON字符串的方法
2016/04/27 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Python进程池Pool应用实例分析
2019/11/27 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
jupyter notebook 重装教程
2020/04/16 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
智乐游戏测试笔试题
2014/05/21 面试题
高一政治教学反思
2014/01/28 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
纪检监察建议书
2014/05/19 职场文书
公关活动策划方案
2014/05/25 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
出售房屋协议书范本
2014/10/06 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
复兴之路展览观后感
2015/06/02 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
7个关于Python的经典基础案例
2021/11/07 Python