首页 > 技术文章 > 基于jQuery 的插件开发

cmyoung 2018-03-15 14:36 原文

谈到jQuery,对于开发人员是再熟悉不过了,从其诞生发展到到目前,一路走来,历经风雨变化十几载,依旧是开发人员使用最广泛、最常用、也是最成熟的js库。但其再成熟也不可能开发出所有的功能,于是乎就用了插件这么一说,用来拓展和补充jQuery 的功能。

插件开发最常用的两种方法:

1. 扩展 jQueyr 对象
jQuery.extend({
  "funName" : function(){

  }
});

使用方法

$.funName();

  或者这样写:

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

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

function jq(){

}

jq.funName = function(){

}
// 如果要使用 funName 是不是这样的 jq.funName();

  注意:使用 IIFE 模式(立即执行函数) 的方式开发插件,避免 $ 对象被污染,我们获取 jQuery 对象,然后在 IIFE 中传入过去,使用 $ 来接受

 

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

    }
});
使用方法
$("dom").funName();

  或者这样写:

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

// 原理解析

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

function jq(){
} jq.prototype.funName = function(){ }
// 如果我们要使用 funName 是不是这样的方式 jq().funName();

  

以上拙见,有不对处,望指正,谢谢!

 

推荐阅读