jquery的全局函数就是属于jquery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。
也可以理解为另外两种方式,一种是jQuery本身的扩展方法,另一种是jQuery所选对象的扩展方法。
1.jQuery.extend(Object); // jQuery 本身的扩展方法2.jQuery.fn.extent(Object); // jQuery 所选对象扩展方法
下面就两种函数的开发做详细的说明。
类级别的插件开发最直接的理解就是给jQuery类添加类方法,
可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。
关于类级别的插件开发可以采用如下几种形式进行扩展:
1.1 添加一个新的全局函数
$.foo = function(){ alert("foo"); } //调用方法 $.foo();1.2 使用jQuery.extend(object);
$.extend({ foo:function(){ alert("foo"); }, bar:function(){ alert("bar"); } }) //调用方法 $.foo(); $.bar();1.3 使用命名空间
$.myPlugin = { foo:function(){ alert("foo"); }, bar:function(){ alert("bar"); } } //调用方法 $.myPlugin.foo(); $.myPlugin.bar();
$.fn.foo = function(){ alert("hello jquery"); } $('#myF').foo()
(function($){ $.fn.extend({ pluginName:function(opt,callback){ alert("foo"); } }) })(jQuery); $("#myF").pluginName();
(function (jq) { jq.fn.foo = function (obj) { alert(obj); }; })(jQuery) $("#myF").foo("hello jquery");