zoukankan      html  css  js  c++  java
  • jQuery.extend 和 jQuery.fn.extend

    1.jQuery.extend

      我们先把jQuery看成了一个类,这样好理解一些。jQuery.extend(),是扩展的jQuery这个类。

      假设我们把jQuery这个类看成是人类,能吃饭能喝水能跑能跳,现在我们用jQuery.extend这个方法给这个类拓展一个能唱歌的技能。这样的话,不论是男人,女人,xx人.....等能继承这个技能(方法)了。

      

      现在可以直接调用它了 $.sing(); 就会打印出 sing,但是这里跟以前的jquery不同( $("") ); 此时这里的 sing() 方法(静态方法)就变成jQuery这个类本身的方法 现在能够唱歌。

      但是这个方法只代表jquery这个类本身。这个扩展方法就表示的是静态方法 只跟类本身有关 跟具体的实例化对象没有关系。

      典型的类似于 $.each()。$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象而是以一个数组或者对象作为第1个参数,

      以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。下面就是$.each()的 具体实现

      

    2.jQuery.fn.extend

      首先 我们来看看fn是什么 源码如下:

      

      原来jQuery.fn=jQuery.prototype,就是原型啊。jQuery.fn.extend拓展的是jQuery对象(原型的)的方法!就是实例化

      例如 $("#abc") 就是一个实例化的jQuery对象 。 所以jQuery.fn.extend扩展的方法 要用在对象上才行

      假设 jQuery.fn.extend({

          xyz : function (){}

      });

      $('selector').xyz(); // 这样才是正确的用法 如果$.xyz(); 

      

      jQuery.extend()这个方法,主要是用来拓展个全局函数啦,例如$.ajax()这种,要不就是拓展个选择器啦,例如$.fn.each(),当选择器用。大部分插件都是用jQuery.fn.extend()。

  • 相关阅读:
    lucene建立索引时候的用到的一些文档和目录操作
    MYSQL Cast函数 类型转换
    windows和linux下执行java程序+获取本机IP
    apache lucene 的核心类
    apache lucene 一个最简单的实例
    lucene 索引非txt文档 (pdf word rtf html xml)
    MyISAM & InnoDB
    软件开发者面试百问
    比较lucene各种英文分析器Analyzer
    浅谈Base64编码
  • 原文地址:https://www.cnblogs.com/syomm/p/5716583.html
Copyright © 2011-2022 走看看