$.extend和$.fn.extend的区别

(function () {

   var jQuery = function (selector, context) {
        return new jQuery.fn.init(selector, context);
     };

    jQuery.fn = jQuery.prototype = {
        constructor: jQuery,
        init:function....
   };  
   window.jQuery = window.$ = jQuery;
 })();

JQ中提供的方法有两部分

  1. 在原型上面定义方法,供JQ的实例使用(JQ实例一般都是用选择器获取到的元素集合)

  2. 把JQ当做普通的对象,定义的私有属性和方法(这些方法一般都是项目中的一些工具包或者常用的方法如$.ajax())

JQ已经提供很多的方法了,但是也不能说就足够全了,所以为了后期开发者可以增加一些自己的方法,JQ提供了EXTEND方法,帮助开发者在JQ的原型或者对象上增加属于自己的方法

  1. jQuery.extend({AA:function...})在JQ的对象上增加方法$.AA(),这样做一般都是增加更多的公用方法

  2. jQuery.fn.extend({BB:function...}):在JQ的原型上扩展方法$().BB(),这样做一般是给元素用的,我们也基于这个扩展JQ插件

你可能感兴趣的:(JQ)