`
huoquan
  • 浏览: 27553 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类

怎么书写高质量jQuery代码

阅读更多

众所周知,jQuery现在已经非常流行,百度新首页中也已经开始使用jQuery,今天总结下怎么书写更好的jQuery代码使jQuery代码更好、更快的执行,希望本篇jQuery教程一改大家以前不合理的做法。

 

1.正确引用jQuery

  1. 尽量在body结束前才引入jQuery,而不是在head中。

  2. 借助第三方提供的CDN来引入jQuery,同时注意当使用第三方CDN出现问题时,要引入本地的jQuery文件。

  3. 如果在</body>前引入script文件的话,就不用写document.ready了,因为这时执行js代码时DOM已经加载完毕了。

    .代码 
    1. <body>  
    2.     <script src="http://lib.sinaapp.com/js/jquery11/1.8/jquery.min.js"></script>  
    3.     <script>window.jQuery || document.write('<script src="jquery1.8.min.js">\x3C/script>')</script>  
    4. </body>  

     2.优化jQuery选择器

高效正确的使用jQuery选择器是熟练使用jQuery的基础,而掌握jQuery选择器需要一定的时间积累,我们开始学习jQuery时就应该注意选择器的使用。UI前端框架最新力作!有奖试读!

.代码 
  1. <div id="nav" class="nav">  
  2.     <a class="home" href="http://www.jquery001.com">jQuery学习网</a>  
  3.     <a class="articles" href="http://www.jquery001.com/articles/">jQuery教程</a>  
  4. </div>  
 

如果我们选择class为home的a元素时,可以使用下边代码:

.代码 
  1. $('.home');  //1  
  2. $('#nav a.home');  //2  
  3. $('#nav').find('a.home');  //3  

 方法1会使jQuery在整个DOM中查找class为home的a元素,性能可想而知。

  1. 方法2为要查找的元素添加了上下文,在这里变为查找id为nav的子元素,查找性能得到了很大提升。

  2. 方法3使用了find方法,它的速度更快,所以方法三最好。

关于jQuery选择器的性能优先级,ID选择器快于元素选择器,元素选择器快于class选择器。因为ID选择器和元素选择器是原生的JavaScript操作,而类选择器不是,大家顺便可以看下find context 区别find() children区别

3.缓存jQuery对象

缓存jQuery对象可以减少不必要的DOM查找,关于这点大家可以参考下缓存jQuery对象来提高性能。

4.正确使用事件委托

事件委托可以使事件更好的执行,在动态添加的元素上绑定事件也需要委托来实现,在新版本的jQuery中推荐大家使用on来给元素绑定一个或多个事件的处理函数。UI前端框架最新力作!有奖试读!

.代码 
  1. <table id="t">  
  2.     <tr>  
  3.         <td>我是单元格</td>  
  4.     </tr>  
  5. </table>  
 

比如我们要在上边的单元格上绑定一个单击事件,不注意的朋友可能随手写成下边的样子:

.代码 
  1. $('#t').find('td').on('click', function () {  
  2.     $(this).css({ 'color''red''background''yellow' });  
  3. });  

 这样会为每个td绑上事件,在为100个单元格绑定click事件的测试中,两者性能相差7倍之多,好的做法应该是下边写法:

.代码 
  1. $('#t').on('click''td', function () {  
  2.     $(this).css({ 'color''red''background''yellow' });  
  3. });  

 5.精简jQuery代码

如在上述代码中我们对jQuery代码进行了适当的合并,类似的还有.attr()方法等,我们没有写成下边的方式: UI前端框架最新力作!有奖试读!

.代码 
  1. $('#t').on('click''td', function () {  
  2.     $(this).css('color''red').css('background''yellow');  
  3. });  

 6.减少DOM操作

刚开始使用jQuery时可能会频繁的操作DOM,这是相当耗费性能的。如我们要在body中动态输出一个表格,一些朋友会这样写:

.代码 
  1. var $t = $('body');  
  2. $t.append('<table>');  
  3. $t.append('<tr><td>1</td></tr>');  
  4. $t.append('</table>');  

 好的做法:

.代码 
  1. $('body').append('<table><tr><td>1</td></tr></table>');  

 这样在拼接完table串后再添加到body中,对DOM的操作只需一次。群里以前有朋友就因为这个导致在IE下输出时出现问题,而关于字符串的拼接可以参考下最快创建字符串的方法。

7.不使用jQuery

原生函数总是最快的,这点不难理解,在代码书写中我们不应该忘记原生JS。

就先总结这几条吧,每条建议并不难理解,但总结全面的话还是要花费不少时间的。如在减少代码段中,如果需要根据条件从数组中得到新数组时,可以使用$.grep() 方法,如果你在使用jQuery时有自己心得的话,欢迎在留言中和大家分享!

0
0
分享到:
评论

相关推荐

    如何书写高质量的jQuery代码

    如何书写高质量的jQuery代码想必大家对于jQuery这个最流行的javascript类库都不陌生,而且只要是前端开发人员肯定或多或少的使用或者接触过,在今天的这篇文章中,我们将介绍一些书写高质量jQuery代码的原则,我们不...

    如何书写高质量jQuery代码(使用jquery性能问题)

    众所周知,jQuery现在已经非常流行,百度新首页中也已经开始使用jQuery,今天总结下怎么书写更好的jQuery代码使jQuery代码更好、更快的执行,希望本篇jQuery教程一改大家以前不合理的做法

    web代码书写规范

    ### Web代码书写规范详解 ...以上规范旨在为Web前端开发提供一份详尽的操作指南,帮助开发者产出高质量、易于维护的代码。在实践中,可以根据项目具体情况灵活调整这些规范,但基本原则不应改变。

    jQuery写字板插件

    总的来说,jSignature是jQuery库的一个强大补充,它使得在Web应用中实现高质量的手写签名功能变得轻而易举。无论是在桌面还是移动设备上,用户都能享受到流畅、自然的书写体验。对于开发者来说,jSignature提供了...

    jQuery创建插件的代码分析

    ### jQuery 创建插件的代码分析 #### 一、概述 jQuery 是一款流行的 JavaScript...此外,通过合理设计插件结构,还可以创建出具有良好的封装性和可维护性的高质量插件。希望本文对你理解 jQuery 插件的创建有所帮助。

    jQuery_Mobile中文手册

    4. **标记驱动**:jQuery Mobile完全基于标记配置,无需复杂的JavaScript代码即可实现功能丰富的页面。 5. **渐进增强**:支持渐进增强策略,即在无JavaScript支持的情况下也能正常显示基础内容,而当JavaScript...

    PHPCodeSniffer一个检测PHPCSS和JS代码标准冲突的库

    这个开源库主要用于检查代码是否遵循特定的编码规范和标准,帮助开发者保持代码的一致性和可读性,同时...通过定期检查和修复代码风格问题,开发者能够编写出更易于理解和维护的代码,从而提升整体项目的质量和稳定性。

    jQuery手写签字

    这些格式可以根据需求选择,例如SVG可以保持签名的高质量缩放,而Base64则适合嵌入到HTML中直接显示。 3. **数据恢复与预览**:保存的签名数据可以重新加载到画布上,以便预览或编辑。 4. **API接口**:jSignature...

    前端代码规范.pdf

    以上规范旨在提升前端项目的专业性和质量,通过遵循这些规则,开发者可以构建出更高质量、易于维护的前端应用。在实际工作中,团队应根据自身需求和项目特点,灵活调整和补充这些规范,以实现最佳的开发效果。

    前端代码开发规范.doc

    前端代码开发规范是为了提升团队合作效率,确保代码质量,便于后台开发和前端维护,以及产出高质量的文档。这个规范一旦确定,所有前端开发者都应遵循。任何对规范的修改都需要经过讨论和一致决定。 **一、根本准则...

    前端规范文档

    【前端规范文档】是指导前端开发者进行高效、规范编码的重要参考文档,旨在提升团队协作...综上所述,前端规范涵盖了HTML、CSS、JS和图片管理等方面,通过遵循这些规范,可以构建出易于理解和维护的高质量前端项目。

    WEB前端开发代码使用规范宣贯.pdf

    前端开发代码规范的制定旨在提升团队协作效率,确保后台人员能够轻松添加功能,同时方便前端进行后期优化和维护,输出高质量的文档。规范的实施要求所有前端开发者按照设定的标准进行页面开发。若发现文档中有错误或...

    jquery实现向下滑出的二级导航下滑菜单效果

    在jQuery的实现代码中,首先将所有二级菜单项进行隐藏。当点击一级菜单项时,通过一个回调函数来判断对应的二级菜单项是否可见。如果二级菜单项是可见的,则通过`slideUp`方法收起菜单;如果二级菜单项是隐藏的,则...

    项目开发规范

    项目开发规范旨在提升团队协作效率,确保后台人员能够轻松添加功能,前端人员能高效地进行后期优化维护,并输出高质量的文档。以下是对这份规范的详细解读: 1. **规范目的**: 规范的制定是为了使项目开发更加...

    前端开发规范说明1

    - 输出高质量的文档,方便后台人员理解和维护。 - 对文档的修改需经过讨论和同意后执行。 这些规范旨在确保前端开发的高效性和代码质量,遵循这些规则将使团队合作更加顺畅,同时有利于代码的长期维护和升级。

    Web前端开发规范.doc

    本规范旨在提供一套标准,使得前端开发人员按照一致的方式进行页面开发,以产出高质量的文档。 **一、规范目的** 规范的目的主要体现在以下几个方面: 1. **提高协作效率**:通过统一的开发标准,团队成员可以更...

    精通javascript and jqurry源码文件.rar

    JavaScript 和 jQuery 是两种广泛应用于网页开发的编程工具。JavaScript 是一种轻量级的脚本语言,...通过研究这些源码,开发者不仅可以掌握这两种工具的核心概念,还能提升代码质量和调试能力,进阶为高级前端工程师。

    Web前端开发规范标准.doc

    - 目的在于提升开发效率,方便后台开发人员集成和前端后期维护,同时产出高质量的文档。 - 开发准则强调符合Web标准,使用语义化的HTML,遵循结构、表现和行为分离的原则,并确保良好的浏览器兼容性,优化页面性能...

Global site tag (gtag.js) - Google Analytics