• 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()。

  • 相关阅读:
    使用Application Insights 做分析
    UWP中GridView右击选中的实现
    Bing Map
    UWP深入学习六:Build better apps: Windows 10 by 10 development series
    从上往下打印二叉树
    二叉树中和为某一值的路径
    二叉树的镜像
    树的子结构
    由前序遍历和中序遍历构建二叉树
    二叉树常见题目
  • 原文地址:https://www.cnblogs.com/syomm/p/5716583.html
Copyright © 2020-2023  润新知