jQuery编写widget的一些技巧分享


Posted in Javascript onOctober 28, 2010

1、在编写widget的时候,一般我们需要绑定一些事件,最好将这些widget的绑定事件加上当前widget的命名空间。如果同一个jQuery对象,使用了两个widget,而两个widget都绑定了相同的事件名称,可能会出现问题。在销毁widget的时候,去除绑定事件也很方便,只需要unbind(”.namespace“)就可以了。
2、在写jQuery的时候,因为jQuery对象是支持连写的。譬如:$(obj).css("height","20px").attr("title","abc")....
3、在编写的时候可以利用javascript的原生方法来避免switch。

switch(a) 
{ 
case "aa": 


this._set_aa(); 


break; 

case "bb": 


this._set_bb(); 


break; 

case "cc" 


this._set_cc(); 


break; 
}

上面的代码可以用下面的代码替换
this["_set_"+a]();

4、尽量缓存jQuery对象,和各种变量。这样可以提高脚本的性能
5、采用变量缓存this指针,在最小化代码的时候this可以被最小化掉。
6、最好将css类名取一致的名称,然后定义变量保存起来。在使用的时候直接采用变量,这样就算css名称有调整,只需要改变变量缓存的值即可。同时代码在最小化的时候也能减小体积。
7、setOption的时候,如果一个option是复杂对象,而不是简单的值对象,最好不要简单的this.options[key]=value.而在这之前需要将value和以前的option的值做一个extend,然后在赋值,这样可以保留复杂对象原有的部分值。比如:
var a = {width:120,height:200}; 
var c={width:200}; 
a=c; 
a=$.extend(a,c);

其结果是第一个a将是{width:20},会丢失掉height:200;而下面的那个将继续保留原始的height:200。
Javascript 相关文章推荐
jQuery 工具函数学习资料
Apr 29 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
May 28 Javascript
基于jquery的代码显示区域自动拉长效果
Dec 07 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
js中 javascript:void(0) 用法详解
Aug 11 Javascript
js判断输入字符串是否为空、空格、null的方法总结
Jun 14 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
详解ES6中的三种异步解决方案
Jun 28 Javascript
简单的React SSR服务器渲染实现
Dec 11 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
Sep 28 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
解决await在forEach中不起作用的问题
Feb 25 Javascript
jQuery timers计时器简单应用说明
Oct 28 #Javascript
jquery ajax abort()的使用方法
Oct 28 #Javascript
BOM与DOM的区别分析
Oct 26 #Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 #Javascript
Javascript下判断是否为闰年的Datetime包
Oct 26 #Javascript
基于jquery的给文章加入关键字链接
Oct 26 #Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 #Javascript
You might like
php使用APC实现实时上传进度条功能
2015/10/26 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
理解AngularJs指令
2015/12/10 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python项目打包成二进制的方法
2020/12/30 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
Ref与out有什么不同
2012/11/24 面试题
找工作最新求职信
2013/12/22 职场文书
创文明城市标语
2014/06/16 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
2014年中秋寄语
2014/08/11 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
建党伟业的观后感
2015/06/01 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
python实现高效的遗传算法
2021/04/07 Python