版权声明:本文为博主原创文章。未经博主同意不得转载。

https://blog.csdn.net/dreamsunday/article/details/25193459

jQuery自己定义了jQuery.extend()和jQuery.fn.extend()方法.当中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法.
比如:

jQuery.extend({showName : function(name){alert(name)}
});
jQuery.showName("深蓝");

jQuery.extend()除了能够创建插件外,还能够用来扩展jQuery对象.
比如:

var a = {name : "blue",pass : 123
}
var b = {name : "red",pass : 456,age : 1
}
var c = jQuery.extend({},a,b);

c拥有a,b对象的属性,因为,b对象在a对象之后,其name属性优先在c对象里.

jQuery.extend()方法为插件传递系列选项,包含默认值.

function fn(options){var options = jQuery.extend({    //默认參数选项列表name1 : value1,name2 : value2,name3 : value3},options);   //使用函数的參数覆盖或合并到默认參数选项列表中//函数体
}
fn({ name1 : value3, name2 : value2 , name3 : value1 });//使用新值
fn({ name4 : value3, name5 : value2 });//在默认上加入新选项
fn();    //保持默认选项值

当在调用该方法时,传递新的參数值,就会覆盖掉默认的參数选项值,否则,使用默认參数值.

使用JQuery.fn对象创建JQuery对象方法

能够通过jQuery.fn对象来加入属性和方法,实际上jQuery.fn对象就是挂接在jQuery.prototype上的,jQuery把它简写了.

fn 是什么东西呢。查看jQuery代码。就不难发现。

jQuery.fn = jQuery.prototype = {

   init: function( selector, context ) {//.... 

   //......

};

原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。

比如:

jQuery.fn.test = function(){alert("这是jQuery对象方法!");
}
jQuery("div").click(function(){$(this).test();   //在当前的jQuery对象上调用test()方法
});

我们能够调用jQuery.fn.extend()方法来创建jQuery对象方法.

jQuery.fn.extend({test : function(){return this.each(function(){alert(this.nodeName)});}
});
jQuery("body *").click(function(){$(this).test();     //调用jQuery对象方法
});

一句话:jQuery.extend是对JQuery类的自己定义扩展,jQuery.fn.extend是对JQuery对象的自己定义扩展.

转载于:https://www.cnblogs.com/ldxsuanfa/p/9994364.html

jQuery.extend()、jQuery.fn.extend()扩展方法具体解释相关推荐

  1. JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)

    为什么80%的码农都做不了架构师?>>>    理解$.extend(),与$.fn.extend()方法区别 1.$.extend()方法 $.extend()方法在JQuery中 ...

  2. jQuery扩展---$.extend和$.fn.extend

    2019独角兽企业重金招聘Python工程师标准>>> 一.jQuery.extend (function($){$.extend({static:function(){consol ...

  3. jQuery插件开发中$.extend和$.fn.extend辨析

    jQuery插件开发分为两种:   1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery. ...

  4. $.extend()和$.fn.extend()

    jQuery.extend():把两个或者更多的对象合并到第一个当中: jQuery.fn.extend():把对象挂载到jQuery的prototype属性,来扩展一个新的jQuery实例方法. 两 ...

  5. jquery的$.extend和$.fn.extend作用及区别(—)

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便. ...

  6. jquery的$.extend、$.fn.extend、 jQuery.extend( target, object1, [objectN])作用及区别

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend();jQuery.extend(); 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便. j ...

  7. jquery的extend和fn.extend

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展j ...

  8. jQuery中slideToggle()的详细使用方法和解释

    $(selector).slideToggle(speed,callback) 参数       speed和callback Speed  可选.规定元素从隐藏到显示的速度,默认'normal'可能 ...

  9. jquery和zepto的扩展方法extend

    jquery和zepto的扩展方法extend 总结下jQuery(3.1.1)和zepto(1.1.6)到底是如何来开放接口,使之可以进行扩展,两者都会有类型判断,本文使用简单的类型判断,暂不考虑兼 ...

  10. 理解jquery的$.extend()、$.fn和$.fn.extend()

    jQuery为开发插件提拱了两个方法,分别是:· jQuery.fn.extend();或者$.fn.extend jQuery.extend();或者$.extend jQuery.fn ($.fn ...

最新文章

  1. HarmonyOS ScrollView 不滑动的问题
  2. 边缘数据中心维护的4个基本组件
  3. Scala for循环示例
  4. truelicense中的maven配置
  5. linux 5.5安装万兆网卡驱动,RedHat 5.5系统下安装MW54U无线USB网卡驱动
  6. python 动态编译代码_编译Python代码以使用Cython静态链接可执行文...
  7. 剑指 Offer II 117. 相似的字符串
  8. php 安卓注册,做一个Android应用的注册与登录功能
  9. 统计python文件中的代码,注释,空白对应的行数
  10. 北大oj-1423- Big Number
  11. win10计算机管理权限,win10如何获取管理员权限?win10获取最高权限的方法
  12. nw.js html5,用nw.js构建项目
  13. linux内核 v4l2编译,Linux之V4L2基础编程
  14. UOJ #11.【UTR #1】ydc的大树 题解
  15. 天才小毒妃 第966章 不死不灭的痛苦
  16. 架构设计:系统存储(2)——块存储方案(2)
  17. dataframe去掉行索引_DataFrame按索引删除行、列
  18. 虚拟机无网络连接解决方法
  19. 霍常亮教你开发淘宝客app第11节:uniapp数据绑定
  20. 【GlobalMapper精品教程】024:批量高效实现多种数据格式互转的方法

热门文章

  1. xcode 把cocos2d-x 以源码的形式包含进自己的项目适合, 性能分析问题的错误
  2. encodeURI() 的用法
  3. php连接postgresql数据库
  4. Oracle 11.2.0.2 Patch 说明
  5. IP城域网缺省路由规划--第一课
  6. 接口测试参数化详解(Jmeter)
  7. Codeforces Round #429 Div. 1
  8. redis shell命令
  9. 【Java入门提高篇】Day26 Java容器类详解(八)HashSet源码分析
  10. 用dockers实现mysql主从同步