基于jQuery架构javascript基础体系


Posted in Javascript onJanuary 01, 2011

jQuery的使用开始成为javascript开发者的主选产品,但如果没有一个整体的规划,简单的拿来主义势必带来后期维护成本的增加,大量的jQuery插件如同一把双刃剑,一方面大大节省了开发时间与周期,但同时也造成WEB页面加载的负担,带来的难护与二级扩展成本将非常庞大,因此,在使用之前就需要一个最基础的javascript架构体系,能明显基础功能组件,插件组件有效实施与扩展。

我们想,jQuery毕竟还只是一个基础的最底层的工具集,封装元素选择器,事件等等,基本上能满足一般的需求,但要从整体的WEB的周度来看,为了提高javascript开发的效率与可重用性,就需要有一个整体的布局,biuuu认为最简单的思路如下:

1,在现有的ajax接口之上再封装一层操作,主要是用于统一ajax入口,同时可以再细分把GET与POST两种进行分离,通过全局的入口,就能从整理上把关,如过滤参数,检验参数,增加全局参数等,一步到位,可复用性非常高,实现上如下:

var ajax= { 
get : function(){ 
jQuery.get(url, [data], [callback], [type]) 
} 
post : function(){ 
jQuery.post(url, [data], [callback], [type]) 
} 
}

2,封装统一的弹出框,对话框等交互窗口,通过统一接口实现弹窗类操作的交互,节省开发时间,同时有利于整体风格的调整与优化。

3,提供基础的插件加载函数,类似于工厂模式,统一插件加载与调用的入口,对于后期的扩展与维护提供便利,这样就不需要关心插件的更新与升级,只需要调用统一的接口。

4,其实就是一些最基础常用的函数,这个与具体的项目相关,做为全局的工具类。

从上面四点来看,整体的架构思路还只是一个比较浅层次的方案,其实还有安全,性能等方面的考虑,但至少需要有这方面的思路,越是简单就越能体现出架构的合理性,javascript体系也不例外,在实际的使用过程中,通过整合与优化,提高javascript的开发效率与提升javascript能力也就是这样简单。

Javascript 相关文章推荐
[对联广告] JS脚本类
Aug 27 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
Oct 15 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
很棒的一组js图片轮播特效
Jan 12 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
vue favicon设置以及动态修改favicon的方法
Dec 21 Javascript
Vue注册组件命名时不能用大写的原因浅析
Apr 25 Javascript
ES6学习笔记之let与const用法实例分析
Jan 22 Javascript
jQuery技巧总结
Jan 01 #Javascript
js中查找最近的共有祖先元素的实现代码
Dec 30 #Javascript
Js 弹出框口并返回值的两种常用方法
Dec 30 #Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
Dec 30 #Javascript
Javascript事件热键兼容ie|firefox
Dec 30 #Javascript
某人初学javascript的时候写的学习笔记
Dec 30 #Javascript
Javascript延迟执行实现方法(setTimeout)
Dec 30 #Javascript
You might like
Content-type 的说明
2006/10/09 PHP
php AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
Javascript之this关键字深入解析
2013/11/12 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
了解重排与重绘
2019/05/29 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
Python MySQLdb Linux下安装笔记
2015/05/09 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
Go gorilla/sessions库安装使用
2022/08/14 Golang