jQuery - 编写jQuery插件的基本形式(上)

来源:互联网 发布:中国贸易数据库 编辑:程序博客网 时间:2024/05/29 18:04

jQuery如此流行,一个很重要的原因就是拥有海量的第三方插件支持,从而实现各种各样复杂的功能。但有时候,我们难免要重复造些轮子,或者从学习的角度讲,该如何编写jQuery插件?


在编写jQuery插件时,必须假设jQuery库已经加载到了页面中。但是,我们不能假设$别名也一定可用,一般使用立即调用函数表达式传入jQuery对象,然后在函数内部使用$别名。有时也在插件代码的最前面添加一个分号,避免因为前面的脚本没有以分号正常结束从而导致错误。

;(function($) {//plugin code ...})(jQuery);


jQuery插件的形式,可以分为全局方法和对象方法。jQuery本身提供了很多实用的全局方法,如$.ajax()、$.each()、$.extend()等。

编写jQuery全局方法的基本形式如下:

//定义全局方法(function($) {$.globalMethod = function(arg1, arg2) {//do something ...};})(jQuery);//调用$.globalMethod(1, 2);


也可以使用$.extend(),通过另外一种语法来定义全局方法:

(function($) {$.extend({globalMethod1: function(args) {//do something},globalMethod2: function(args) {//do other thing}});})(jQuery);


以上写法仍然有可能污染命名空间,或者与其他插件产生冲突,所以也可以把自定义的全局方法都封装到一个对象中,即为自定义的全局方法又创建了一个命名空间。

//定义(function($) {$.myGlobalMethods = {globalMethod1: function() {//do something},globalMethod2: function() {//do other thing}};})(jQuery);//调用$.myGlobalMethods.globalMethod1();$.myGlobalMethods.globalMethod2();


jQuery全局方法虽然方便,但脱离了具体的界面元素,一般作为工具方法使用。在实际项目场景中,使用较多的其实是jQuery对象方法,将在下一篇介绍其基本编写形式。


1 0
原创粉丝点击