JQuery教学之性能优化

 更新时间:2014年05月14日 10:06:27   作者:  
jQuery是一款非常优秀的javascript框架,当我们使用到jQuery后就再也不想回到javascript时冗长的代码,那么jQuery的优化就摆在了我们的面前。那么我们优化JQuery应该从那些方面入手呢?

jQuery是一款非常优秀的javascript框架,当我们使用到jQuery后就再也不想回到javascript时冗长的代码,那么jQuery的优化就摆在了我们的面前。那么我们优化JQuery应该从那些方面入手呢?

        1、使用最新版本的jQuery

        新版本相对于旧版本会做性能上的改进,还有就是添加新功能。

        2、选择器的使用

        我们通常会使用id选择器、class选择器、元素选择器、伪类选择器和元素选择器。在使用时我的建议是最好使用id选择器,其次是class选择器>元素选择器>Element选择器>伪类选择器。

        说到选择器时,不可必选的要插上一句,在使用选择器查最好是从具有id的父元素开始逐级向下查找。

        3、不要过度的使用jQuery

        记住一句话原生的是最快的。jQuery是write less,do more(写的更少,做的更多)。

        4、做好缓存

        当时要重复使用一个节点是可以使用一个变量存放,在使用时再调用。避免重复获取节点,降低效率。

复制代码 代码如下:

var inputSelect = $("#head .head_right input");
inputSelect.find("a");
inputSelect.find("i");

        5、使用链式操作

        jQuery的一大亮点,就是可以使用链式操作。

复制代码 代码如下:

$("#content").find(".div").eq(2).html("Hello World");

        6、事件委托

        当需要多个同级元素执行一种类型的事件时,可以采用事件委托的方式。例:

复制代码 代码如下:

<div id="content">
    <div><div>
    <div><div>
    <div><div>
    <div><div>
    <div><div>
<div>

    当每个class="div"的div都具备一个click事件的时候我们可以采取事件委托,

复制代码 代码如下:

$("#content").on("click","div",function(){   
    $(this).css("color","#ff5500");
  });

        7、正确处理循环

         循环是一种较耗时的操作,如果可以使用选择器直接选中元素,就不要使用循环去一个个的遍历元素。

        Javascript的原生方法for和while,要比jQuery的each()快。所以应该优先使用原生的方法。

        8、减少JQuery对象的生成

        生成Query对象就会生成对应的属性和方法,比较占用资源。所以尽量减少jQuery对象的生成。

        9、变量的作用域

        当一个变量不需要 在多个函数调用时,应该把变量放在函数内,减少代码执行时查找代码的时间。

        10、将某些函数推迟到$(window).load执行

        $(document).ready确实好用,但是它可以再页面渲染时,其他元素还没有下载完成就执行。

        11、脚本的合并

        脚本都是一一被加载的,减少脚本数量也能提高效率。

        12、元素封装

        当给一个节点插入一个内容,可以先把内容进行封装,再插入。

复制代码 代码如下:

var content = "";
$("#head").html(content);

        另外就是进行js文件的压缩。

        随着jQuery的不断被使用,越来越多的优化方法会被发现。

相关文章

  • JQuery导航菜单选择特效

    JQuery导航菜单选择特效

    这篇文章主要介绍了JQuery导航菜单选择特效 的相关资料,需要的朋友可以参考下
    2016-04-04
  • Jquery实现搜索框提示功能示例代码

    Jquery实现搜索框提示功能示例代码

    数据量很大的情况下使用Ajax去实现真的不合适,于是想采用Jquery来实现方法,具体的示例代码如下,有需求的朋友可以参考下希望对大家有所帮助
    2013-08-08
  • jQuery实现文档树效果

    jQuery实现文档树效果

    本文主要分享了jQuery实现文档树效果的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • jQuery实现base64前台加密解密功能详解

    jQuery实现base64前台加密解密功能详解

    这篇文章主要介绍了jQuery实现base64前台加密解密功能,结合实例形式分析了jquery.base64.js实现前台base64加密与解密功能的实现方法,并给出了java实现后台base64加密解密的操作示例对比验证加密效果,需要的朋友可以参考下
    2017-08-08
  • jQuery实现横向带缓冲的水平运动效果(附demo源码下载)

    jQuery实现横向带缓冲的水平运动效果(附demo源码下载)

    这篇文章主要介绍了jQuery实现横向带缓冲的水平运动效果,涉及jQuery中鼠标事件及animate方法使用技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-01-01
  • jQuery基础知识点总结(必看)

    jQuery基础知识点总结(必看)

    下面小编就为大家带来一篇jQuery基础知识点总结(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Jquery实现瀑布流布局(备有详细注释)

    Jquery实现瀑布流布局(备有详细注释)

    这篇文章主要介绍了Jquery实现瀑布流布局的方法,可实现图片的动态加载功能,且代码备有详细注释便于理解,需要的朋友可以参考下
    2015-07-07
  • 浅谈jquery中使用canvas的问题

    浅谈jquery中使用canvas的问题

    下面小编就为大家带来一篇浅谈jquery中使用canvas的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • JQuery下关于$.Ready()的分析

    JQuery下关于$.Ready()的分析

    最近一直在研究JQuery,这个东西还是很博大精深的.下面分享一下我的学习总结.
    2009-12-12
  • 基于jquery DOM写的类似微博发布的效果

    基于jquery DOM写的类似微博发布的效果

    看了上个原生js DOM版的微博发布的效果,再来看看如何用jq写。看完代码,就会发现jq的强大,用更少的代码写更多的效果
    2012-10-10

最新评论