jQuery为开发插件提拱了两个方法,分别是:
- jQuery.fn.extend(object); 给jQuery对象添加方法。
- jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法,可以理解为添加静态方法。
这两个方法都接受一个参数,类型为Object,Object对应的"名/值对"分别代表"函数或方法体/函数主体"。
1.添加jQuery对象级的插件,是给jQuery类添加方法;
(function($){
$.fn.extend({
"函数名":function(自定义参数){
//这里写插件代码
}
});
})(jQuery);
或者
(function($){
$.fn.函数名=function(自定义参数){
//这里写插件代码
}
})(jQuery);
调用方法:$("#id").函数名(参数);
2.类级别的插件开发,封装全局函数的插件,相当于添加静态方法
(function($){
$.extend({
"函数名":function(自定义参数){
//这里写插件代码
}
});
})(jQuery);
或者
(function($){
$.函数名=function(自定义参数){
//这里写插件代码
}
})(jQuery);
调用方法:$.函数名(参数);
3.使用jQuery.extend(object)添加全局函数
- 扩展方法:extend整合全局函数
jQuery.extend({
foo:function(){
alert("This is a test.");
},
bar:function(){
alert("This is another test");
}
});
//一::
jQuery.foo = function() {
alert("This is a test.");
};
调用时和一个函数的一样的:jQuery.foo(); jQuery.bar(); 简写形式为:$.foo(); $.bar("bar");
- 命名空间扩展
jQuery.myPlugin = {//为全局函数创建另一个命名空间;
functionOne:function () {},//f1和f2成为myPlugin对象的方法,而
functionTwo:function (param) {}
}
//调用:
$.myPlugin.functionOne();
//
var App= function () {
var Young= {
CommonYoung: {
getServerDate: 'common/getservertime'
}
}
window.Young = Young; //将var Young对象给Window.Young 可以全局使用
}();
调用 : Young1.CommonYoung.getServerDate 的结果是 'common/getservertime'