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读取ASP设定的COOKIE
Feb 15 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
Feb 27 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
解决node修改后需频繁手动重启的问题
May 13 Javascript
微信小程序抽奖组件的使用步骤
Jan 11 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
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP进程同步代码实例
2015/02/12 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
python实现文件名批量替换和内容替换
2014/03/20 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
python使用str &amp; repr转换字符串
2016/10/13 Python
Python 文件处理注意事项总结
2017/04/10 Python
python pandas库的安装和创建
2019/01/10 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
详解Django CAS 解决方案
2019/10/30 Python
python3爬取torrent种子链接实例
2020/01/16 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
实习单位推荐信范文
2013/11/27 职场文书
和平主题的演讲稿
2014/01/12 职场文书
中班中秋节活动反思
2014/02/18 职场文书
关于保护环境的建议书
2014/05/13 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
河童之夏观后感
2015/06/11 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
浅谈PHP7中的一些小技巧
2021/05/29 PHP
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python