插件开发

为什么会出现 jquery 插件一词? 因为市场这么大 jqueyr 不可能一家独大,也不能做完所有功能。但是 jqueyr 提供来一个面相对象的方法出来,允许开发者基于 jqueyr 开发出各式各样的功能.

开发 jqueyr 插件的两种方法

//扩展 jqueyr 对象
jQuery.extend({
  "funName" : function(){

  }
});

使用方法

$.funName();

//扩展 jqueyr 选择器选择出来的对象
jQuery.fn.extend({
    "funName" : function(){

    }
});

$("dom").funName();

扩展 jquery

(function($){
  $.extend({
    "方法名" : function(){
        //方法逻辑
    }
  });
})(jQuery);

// 这种方式的模式我们可以这样理解

function jq(){

}

jq.funName = function(){

}

// 如果要使用 funName 是不是这样的 jq.funName();
使用 IIFE 模式(立即执行函数) 的方式开发插件,避免 $ 对象被污染,我们获取 jQuery 对象,然后在 IIFE 中传入过去,使用 $ 来接受

扩展 jquery 类

(function($){
  $.fn.extend({
    "方法名" : function(){
        //方法逻辑
    }
  });
})(jQuery);

// 原理解析

$.fn.extend 我们可以理解为如下方式

function jq(){

}

jq.prototype.funName = function(){

}

// 如果我们要使用 funName 是不是这样的方式 jq().funName();
以上就是两种 jqueyr 插件的开发方式,  有不对的欢迎留言