谈到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();
以上拙见,有不对处,望指正,谢谢!