jQuery扩展插件和拓展函数的写法(匿名函数使用的典型例子)

简介: 这些年,javascript火起来了,主要归功于AJAX的推广应用,Web2.0的发展。。。于是,出现了很多的javascript框架。我选择了jQuery,最主要是它的思想“write less,do more",因为我是一个挑剔的人,以前写过的代码,会时不时翻出来,看看有没有可以精简,优化的地方。

      这些年,javascript火起来了,主要归功于AJAX的推广应用,Web2.0的发展。。。于是,出现了很多的javascript框架。我选择了jQuery,最主要是它的思想“write less,do more",因为我是一个挑剔的人,以前写过的代码,会时不时翻出来,看看有没有可以精简,优化的地方。一来是对不断学习的推动,二来可以将新的思想,技术应用到里面去。 

      对于jQuery插件的写法,以前就有介绍过,网上也有很多例子。 这里简要地进行些写法,主要是简写的说明,见下列代码:

 

 <script type="text/javascript" src="jquery-1.4.2.js"></script>


     < script  type ="text/javascript" >
    
        
// jQuery插件的写法(需要传入操作对象)
        ;( function ($)
        {
            
// PI_TestPlugIn为插件名称,也是插件的操作对象
             // 为了不会与其它插件名重复,这里我使用PlugIn的缩写PI_来定义插件对象前缀
            $.fn.PI_TestPlugIn =    
            {
                
// 该插件的基本信息
                Info:{
                    Name: 
" TestPlugIn " ,
                    Ver: 
" 1.0.0.0 " ,
                    Corp: 
" Lzhdim " ,
                    Author: 
" lzhdim " ,
                    Date: 
" 2010-01-01 08:00:00 " ,
                    Copyright: 
" Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved " ,
                    License: 
" GPL "
                },
                
// 具有对象参数的函数,这里参数是一个对象,具有属性
                FunctionWithParams: function (paramObj)
                {
                    
// 使用参数,是否使用默认值
                     var  params  =  paramObj  ?  paramObj :  new   function (){
                                                           param1
=   " 1 " ;
                                                           param2
=   " 2 " ;
                                                       };
                    
                                                   
                    
return   this .Info.Name  +   " .FunctionWithParamObject " ;
                },
                
// 具有参数的函数,这里参数是一个变量
                FunctionWithParam: function (varparam)
                {
                    
// 使用参数,是否使用默认值
                     var  param  =  varparam  ?  varparam :  null ;
                                                   
                                                   
                    
return   this .Info.Name  +   " .FunctionWithParam " ;
                },
                
// 不具有参数的函数
                FunctionWithOutParam: function ()
                {
                    
return    this .Info.Name  +   " .FunctionWithOutParam " ;
                }
            };
        })(jQuery);
        
        
        
// jQuery拓展函数的写法(不需要传入操作对象),即API函数
        ;( function ($)
        {
            $.extend({
                
// FN_TestExtendFunction为拓展函数的操作对象
                 // 为了不会与其它插件名重复,这里我使用Extend的缩写FN_来定义函数对象前缀
                FN_TestExtendFunction:
                {
                    
// 该拓展函数的基本信息
                    Info:{
                        Name: 
" TestExtendFunction " ,
                        Ver: 
" 1.0.0.0 " ,
                        Corp: 
" Lzhdim " ,
                        Author: 
" lzhdim " ,
                        Date: 
" 2010-01-01 08:00:00 " ,
                        Copyright: 
" Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved " ,
                        License: 
" GPL "
                    },
                     // 具有对象参数的函数,这里参数是一个对象,具有属性
                    FunctionWithParams: function (paramObj)
                    {
                        
// 使用参数,是否使用默认值
                         var  params  =  paramObj  ?  paramObj : {
                                                           param1: 
" 1 " ,
                                                           param2: 
" 2 "
                                                       };
                                                   
                                                   
                        
return   this .Info.Name  +   " .FunctionWithParamObect " ;
                    },
                    
// 具有参数的函数,这里参数是一个变量
                    FunctionWithParam:  function  (varparam) {
                        
// 使用参数,是否使用默认值
                         var  param  =  varparam  ?  varparam :  null ;


                        
return   this .Info.Name  +   " .FunctionWithParam " ;
                    },
                    
// 不具有参数的函数对象
                    FunctionWithOutParam: function ()
                    {
                        
return   this .Info.Name  +   " .FunctionWithOutParam " ;
                    }
                }
            });
        })(jQuery);



        $(
function  () 
        {
            
// 测试插件
             var  params  =  
            {
                param1: 
" 3 " ,
                param2: 
" 4 "
            };
            
            alert($(
this ).PI_TestPlugIn.FunctionWithParams(params));

            alert($.FN_TestExtendFunction.FunctionWithOutParam());
        });
        
        
    
</ script >

 

目录
相关文章
|
2天前
|
JavaScript 前端开发 iOS开发
ios样式开关按钮jQuery插件
ios样式开关按钮jQuery插件
23 7
|
2天前
|
JavaScript 前端开发 API
漂亮的jQuery对话框插件Dialogify
这是一款jQuery对话框插件。该对话框插件使用dialog元素和 HTMLDialogElement API来制作对话框, 可以生成漂亮的对话框效果。
21 7
|
2天前
|
JavaScript
jQuery响应式垂直侧边栏插件rvnm
jQuery响应式垂直侧边栏插件rvnm
|
9天前
|
JavaScript
jQuery简单实用的圆形进度条插件
CirclesProgressbar是一款简单实用的jQuery圆形进度条插件。该插件可以自定义圆形进度条的大小,填充颜色,边框颜色和是否带动画效果等。该圆形进度条插件在使用上非常简单。
|
14天前
|
JavaScript
可自由配置的jQuery消息提示框插件toast
jquery.toast.js是一款可自由配置的jQuery消息提示框插件。该消息提示框可以自定义背景和前景色,提示框的位置,提示框的显示时间,提示框的动画效果等。
19 2
|
16天前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
28 5
|
18天前
|
JavaScript 前端开发 容器
jQuery二维码生成插件
jquery.qrcode.js二维码插件允许你在网页中容易的插入二维码,可以生成表格形式的二维码,或基于canvas的图片二维码
|
17天前
|
移动开发 JavaScript 前端开发
基于canvas的jQuery图片剪裁插件
imageResizer是一款基于canvas的jQuery图片剪裁插件。它使用简单,可以基于HTML5 canvas实现图片的平移和剪裁。
|
3天前
|
JavaScript 前端开发
灵活的jQuery垂直手风琴插件
这是一款使用jQuery和css3 transitions制作垂直手风琴插件。
18 0
|
18天前
|
JavaScript 前端开发 API
jQuery酒店类入住日期时间范围选择器插件
t-datepicker是一款jQuery酒店类入住日期时间范围选择器插件。该jquery日期选择器提供多个配置参数和方法,可以创建响应式的、灵活的、多种主题效果的日期范围选择器。
18 0