jQuery为开发插件提拱了两个方法,分别是:

jQuery.fn.extend();jQuery.extend();

虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。

jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。

1、jQuery.extend(object); 为jQuery类添加类方法,可以理解为添加静态方法。如:

jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});jQuery.min(2,3); //  2
jQuery.max(4,5); //  5

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

var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" ,new:"newvalue" };
jQuery.extend(settings, options);结果:settings == { validate: true, limit: 5, name: "bar",new:"newvalue" }

如果$.extend(true, object1, , [objectN]);即第一个参数是布尔类型,target变为第二个参数,即target=object1;

3、jQuery.fn.extend(object); 对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:

$.fn.extend({          alertWhileClick:function() {            $(this).click(function(){                 alert($(this).val());           });           }
}); 

//使用$("#input1").alertWhileClick(); 

$("#input1") 为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

转载于:https://www.cnblogs.com/langtianya/p/4881981.html

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

  1. jquery内核学习(6)--扩展实现extend

    本篇继续丰富我的jquery框架,利用extend来扩展! 扩展的优点 不必每次增加新的方法都直接往jQuery或者jQuery.fn追加. jQuery.fn.extend({fun1: funct ...

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

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

  3. jQuery 《基础整合》 jQuery插件、jQueryAPI查询网站

    jQurey 的概念 jqurey 是一个快速简洁的JavaScript库 设计的总之能是 写更少的代码 做更多的事情 j 就是JavaScript .Qurey 查询 意思就是查询js 把js 中的 ...

  4. jquery.fn jquery.extend jquery.fn.extend

    $.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效.  如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一 ...

  5. jquery和zepto的扩展方法extend

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

  6. jQuery 1.7.1 代码研究 extend

    /* version : 1.7.1 * codeName : jQuery * node author : Alfred lee*/ // extend 函数是jQuery 的扩展函数.也是传说中的 ...

  7. Javascript笔记:(实践篇)从jQuery插件技术说起-分析extend方法的源码(发现extend方法里有bug)(下篇)...

    1.1     分析$.extend源码 在分析源码之前,我还要加一段s测试代码,代码如下: <script type="text/javascript"> $(doc ...

  8. jQuery.fn和jQuery.prototype区别。

    近期在读jQuery的源码. 发现这里有个东西很难理解. 这里的 jQuery , jQuery.fn , jQuery,fn,init ,jQuery,prototype 都代表什么. 来看下jQu ...

  9. jquery源码抽丝剥茧--把jquery最小化

    js代码: (function(){ var jQuery = window.jQuery = function( selector, context ) { return new jQuery.pr ...

最新文章

  1. SBB:石油污染土壤微生物群落构建与生物多样性研究
  2. 云服务器无法绑定公网IP问题解决方案
  3. 构造matlab决策树分类器,Matlab建立逻辑回归,决策树,SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线...
  4. eclipse debug 重新指定源码
  5. sublime text2快捷键
  6. php 5.6 mcrypt,php 5.6.36 安装mcrypt
  7. frameset和iframe的区别
  8. java中html的树状_HTML中的树状选择
  9. pyqt 槽任意参数_根据效果及设计参数选择合适的洗墙灯
  10. MySQL外键约束详解
  11. iOS 控制器View加载顺序详细版
  12. postman创建mockserver
  13. 数据库学习总结与心得
  14. 6.ring3-ImportREC重建输入表
  15. 用计算机亩换算成平方,亩换算(平方米换算亩计算器)
  16. 使用busybox制作rootfs
  17. HyperMesh 实用教程(一)组件
  18. MobileNetV3 实战:植物幼苗分类(pytorch)
  19. 李航统计学习感知机算法实现
  20. BootStrap初学者怎么使用?

热门文章

  1. 【HDU - 3466 】Proud Merchants(dp,背包问题,巧妙排序)
  2. html 地球大气,地球大气层为什么永远不会消失?
  3. 一台linux上运行多个mysql_linux下同时运行多个mysql
  4. html表格全屏显示,tableView滑动全屏显示
  5. 升级oracle spu,关于Oracle数据库PSU/SPU/BundlePatch的补丁号变化
  6. java面向方面编程_面向方面编程的介绍----基本概念
  7. ArrayList单列集合的简单使用常见方法
  8. Android入门(二) | 项目目录及主要文件作用分析
  9. redis——NOSQL及redis概述
  10. python 方法的实例_python调用自定义函数的实例操作