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


Posted in Javascript onOctober 20, 2010

我选择了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({ 
//PIF_TestExtendFunction为拓展函数的操作对象 
//为了不会与其它插件名重复,这里我使用PlugIn的缩写PI_来定义插件对象前缀 
PIF_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($.PIF_TestExtendFunction.FunctionWithOutParam()); 
}); 
</script>
Javascript 相关文章推荐
用javascript来实现动画导航效果的代码
Dec 16 Javascript
js取滚动条的尺寸的函数代码
Nov 30 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
jQuery设置和移除文本框默认值的方法
Mar 09 Javascript
js实现同一页面多个运动效果的方法
Apr 10 Javascript
JQuery.validationEngine表单验证插件(推荐)
Dec 10 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
jQuery事件委托代码实践详解
Jun 21 jQuery
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
JS中队列和双端队列实现及应用详解
Sep 29 Javascript
JavaScript Blob对象原理及用法详解
Oct 14 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
Oct 20 #Javascript
Javascript技巧之不要用for in语句对数组进行遍历
Oct 20 #Javascript
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 #Javascript
理解Javascript_12_执行模型浅析
Oct 18 #Javascript
理解Javascript_11_constructor实现原理
Oct 18 #Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
Oct 18 #Javascript
jQuery Validation实例代码 让验证变得如此容易
Oct 18 #Javascript
You might like
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP读取目录下所有文件的代码
2008/01/07 PHP
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
php修改时间格式的代码
2011/05/29 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
jQuery中库的引用方法
2018/01/06 jQuery
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
python求最大值最小值方法总结
2019/06/25 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
解析Python3中的Import
2019/10/13 Python
python操作gitlab API过程解析
2019/12/27 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
名人演讲稿范文
2013/12/28 职场文书
职业规划实施方案
2014/06/10 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电