`
LeeYee
  • 浏览: 69823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一些关于javascript、jQuery使用时的建议

 
阅读更多

最新内容请查看:http://leeyee.github.io/blog/2011/04/09/javascript-jquery-user-suggests

 

1、在遍历数组时缓存长度
在遍历数组时应将数组的长度保存在一个变量中,不要在循环中每次都访问数组长度。

2、如果需要给DOM中添加新的元素,避免创建一个元素添加一次。应尽量只添加一次

 

frag.appendChild(newListItem) 需要修正为 frag.appendChild(${newListItem}[0]);


3、避免重复,保持代码干燥

4、当心匿名函数。

绑定匿名函数是让人头疼的,对于他们调试,修改,测试或者重用都是困难的。因此可以使用对象去组织和命名你的处理方法和回调函数

5、选择器的优化

5.1、通过ID来获取元素是最好的选择

5.2、选择器的右边要具体化,而不是左边。

如果可以尽量使tag.class出现在右边,而单独的tag或者.class出现在左边

5.3、避免选择器过度具体化

5.4、避免使用通配符选择器 。(能被匹配在任何地方的指定或隐含的选择器运行是非常慢的)

6、使用事件委托(Use Event Delegation)
事件委托允许绑定一个事件处理程序到一个容器元素上(比如,一个无序序列)替代多容器元素(比如,列表项)。
使用jQuery的$.fn.live和$.fn.delegate是易于实现事件委托的。在可能的情况下应该使用$.fn.delegate替代$.fn.live,因为$.fn.delegate省去了不必要的选择,并且当DOM上下文明确时,相对$.fn.live,使用$.fn.delegate能减少约80%的开销。

除了性能方面的好处外,事件委托会在添加新容器元素到页面时直接绑定处理程序,而无需对新添容器元素重新绑定处理程序

7、使用$.fn.detach从DOM中移除元素
操作DOM是缓慢的;你应该尽可能避免操作他们。在jQuery的1.4版本中提供$.fn.detach来解决这个问题。$.fn.detach允许从DOM中移除一个元素。

8、使用样式表改变样式,当需要改变许多元素样式时
假如你将使用$.fn.css改变超过20个元素的样式时,请考虑添加一个样式标签到页面。这样可以提升约60%的执行速度

9、使用$.data替代$.fn.data存储数据
在DOM元素上使用$.data替代在jQuery选择器上调用$.fn.data将带来可达10倍的速度提升。因为$.data是jQuery的底层方法

10、不要对不存在的元素施加操作
jQuery不会告诉你是否正在一大堆空的选择器上运行代码,他会当做没有事情是错的继续运行。因此你需要自己去核实选择器包含的一些元素

11、变量定义
多变量可被定义可以用一条语句替代几条语句

12、条件语句

13、不要把jQuery视作一个黑盒子
将jQuery源码作为你的文档 -- 保存http://bit.ly/jqsource 在你的书签里,并且经常查阅他

 

Source From:http://jqfundamentals.com/book/index.html#chapter-9

分享到:
评论

相关推荐

    《XMPP高级编程 使用JavaScript和jQuery》 高清扫描 完整版 PDF电子书 详细书签

    《XMPP高级编程 使用JavaScript和jQuery》 高清扫描 完整版 PDF电子书 详细书签 这是刚出炉的第一本完整PDF,网上其它地方流传的都是试读版PDF坑爹呢。 友情提醒: 大家在阅读高清扫描版PDF书籍时,如果需要做...

    jquery插件使用方法大全

    当使用jquery时,推荐使用代码1。 编辑本段事件机制  我们大量使用的事件可能就是button的onclick了。以前习惯在input 元素上写onclick = "fn()",使用jquery可以使javascrīpt代码与html代码分离,保持HTML的清洁...

    Web课程设计使用Jquery完成一个旅游景点的主页设计

    内容概要:使用Jquery完成一个站点的主页设计,该页面中主要包含导航栏,轮播,主题内容和页脚这几个部分,当页面进行缩放时,能够进行响应式布局。 首先制作了一个登录注册页面,填写一些个人信息。 首页用文本介绍...

    众妙之门-javascript与jquery

    javascript与jquery精粹,很精美的电子书,建议有一定经验的开发者查看

    jQuery权威指南-源代码

    虽然jQuery使用简单,但它毕竟是一门新的技术,与传统的JavaScript在性能与语法上存在诸多差异,需要相应的书籍来引导开发者们迅速而有效地掌握它,并能真正付诸实践。综观现在已经出版的中文类jQuery图书,不是...

    最新jquery.1.8.1

    6. 不建议使用或将移除的功能 $.browser:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用兼容插件。或者你可以试试Modernizr。 $.sub:该方法是在jQuery 1.5中引入...

    jQuery技术内幕:深入解析jQuery架构设计与实现原理

    jQuery是业界最流行的JavaScript库,其API非常精致和优雅,但是jQuery的源码却庞大且晦涩难懂,在本书开始写作时发布的1.7.1版本有9266行代码,涉及17个模块,读起来常常是一头雾水、有心无力。本书尝试对jQuery的...

    jQueryAPI2.2.0中文手册chm版

    资源名称:jQuery API 2.2.0 中文手册 chm版内容简介:jQuery是一个高效、精简并且功能丰富的Javascript工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 ...

    jQuery API 2.2简体中文手册

    jQuery是一个轻快的、小巧的、功能丰富的JavaScript库。它用能够跨多种浏览器轻松使用的使用的API,使一些任务,比如说HTML文档遍历和操作、事件事处、动画,以及Ajax变得更简单。如果你是一个jQuery新手,我们建议...

    最新JQuery版本1.8

    6. 不建议使用或将移除的功能 $.browser:通过user agent字符串来检测浏览器不是一个好主意,在1.9中将完全移除该方法,不过你可以使用兼容插件。或者你可以试试Modernizr。 $.sub:该方法是在jQuery 1.5中引入的...

    jQuery1.2.6

    Javascript优秀框架jQuery最新版1.2.6下载,包括Packed:是jQuery的全功能版本,这个版本的文件大小已经被优化过,比较小了。...初学时,可以使用这个版本,但是程序在发布到网上的时候,建议使用上面的Packed版本哦。

    jquery 上传图片前预览

    jquery 上传图片前预览,就只是一个JS文件,使用也简单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head > 图片...

    ECShop_V2.7.3_UTF8_完美兼容_jQuery_模式

    Ecshop与Jquery冲突的完美解决方案 ECShop把AJAX事件和JSON解析的模块放在common/transport.js之中,可以说它也有自己封装的一套.../**/习惯用jQuery符合定义的jquery文件的朋友建议下载此文件 更多问题请联系博主!

    前端jQuery学习:新浪下拉菜单

    适合前端小白,跟着pink老师一起学前端,jQuery虽然不是最新的技术,应用还是很广泛的,前端学习不可缺少的内容,学完jQuery,学习node,然后学习webpack,再学习Vue,这是我制定的前端学习路径,大神们记得给建议。

    Jquery的Iframe右下角弹出广告

    2)使用时,直接在页面加入一行js代码即可。 <script language="javascript" type="text/javascript" src="ad/ad_yovisun_min.js"> 注意,建议将上述JS引入代码放到页面最后面,body元素之前,确保之前已经引入了...

    jquery仿淘宝回顶部和建议代码.zip

    jquery仿淘宝回顶部和建议代码.zip

    jquery-suggest:jQuery的建议

    jQuery-Suggest 是一个基于 jQuery 的 suggest 组件,它主要为 PC 端的搜索框提供建议词条。 为什么要做这个组件 我曾经做过一个基于 Zepto 简洁实用的 suggest 组件:。 这个组件稍微改造即可在 jQuery 下使用...

    一个小型的购物项目,前端基于HTML,CSS,JavaScript,Ajax,Jquery,后端基于SSM框架+源代码+文档说明

    *使用了Ajax异步刷新,封装Jquery,使用了图片的IO上传等技术 *建议使用Tomcat9和jdk8 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关...

    jquery-suggestable:实现搜索的简单jQuery插件建议使用本地缓存

    实现搜索的简单jQuery插件建议使用本地缓存。 用法 $('selector').suggestable({ 'data-url' : 'object\'s data-property which contains url to suggests', 'container-class' : 'css class name for drop-down ...

    jquery图片播放器 - jquery.fn.imgplayer-1.2

    由于采用纯JavaScript实现,动画效果比较简单,目前善不支持随机播放模式,希望广大编程爱好者提出建议和不足。 参数: imgCSS : 用户自定义图片样式 transition : 播放模式选项 1:溶解,2:挂历模式,3:滑动...

Global site tag (gtag.js) - Google Analytics