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 相关文章推荐
jQuery元素选择器用法实例
Dec 23 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
深入学习JavaScript对象
Oct 13 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
Dec 01 Javascript
javascript中一些奇葩的日期换算方法总结
Nov 14 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 Javascript
vue实现简单全选和反选功能
Sep 15 Javascript
Vue 3.0中jsx语法的使用
Nov 13 Javascript
基于Cesium绘制抛物弧线
Nov 18 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生成PDF方法详解
2015/01/23 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
jQuery实现的漂亮表单效果代码
2015/08/18 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
js实现简单的倒计时
2021/01/28 Javascript
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
Python自省及反射原理实例详解
2020/07/06 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
责任担保书范文
2014/05/21 职场文书
年终奖发放方案
2014/06/02 职场文书
文明城市创建标语
2014/06/16 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
辩护词格式
2015/05/22 职场文书
奔腾年代观后感
2015/06/09 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
使用HttpSessionListener监听器实战
2022/03/17 Java/Android