jQuery是一款很是优秀的javascript框架,当咱们使用到jQuery后就不再想回到javascript时冗长的代码,那么jQuery的优化就摆在了咱们的面前。那么咱们优化JQuery应该从那些方面入手呢?javascript
一、使用最新版本的jQuery
css
新版本相对于旧版本会作性能上的改进,还有就是添加新功能。
html
二、选择器的使用
java
咱们一般会使用id选择器、class选择器、元素选择器、伪类选择器和元素选择器。在使用时个人建议是最好使用id选择器,其次是class选择器>元素选择器>Element选择器>伪类选择器。缓存
说到选择器时,不可必选的要插上一句,在使用选择器查最好是从具备id的父元素开始逐级向下查找。
框架
三、不要过分的使用jQuery
less
记住一句话原生的是最快的。jQuery是write less,do more(写的更少,作的更多)。
函数
四、作好缓存性能
当时要重复使用一个节点是可使用一个变量存放,在使用时再调用。避免重复获取节点,下降效率。优化
var inputSelect = $("#head .head_right input"); inputSelect.find("a"); inputSelect.find("i");
五、使用链式操做
jQuery的一大亮点,就是可使用链式操做。
$("#content").find(".div").eq(2).html("Hello World");
六、事件委托
当须要多个同级元素执行一种类型的事件时,能够采用事件委托的方式。例:
<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"); });
七、正确处理循环
循环是一种较耗时的操做,若是可使用选择器直接选中元素,就不要使用循环去一个个的遍历元素。
Javascript的原生方法for和while,要比jQuery的each()快。因此应该优先使用原生的方法。
八、减小JQuery对象的生成
生成Query对象就会生成对应的属性和方法,比较占用资源。因此尽可能减小jQuery对象的生成。
九、变量的做用域
当一个变量不须要 在多个函数调用时,应该把变量放在函数内,减小代码执行时查找代码的时间。
十、将某些函数推迟到$(window).load执行
$(document).ready确实好用,可是它能够再页面渲染时,其余元素尚未下载完成就执行。
十一、脚本的合并
脚本都是一一被加载的,减小脚本数量也能提升效率。
十二、元素封装
当给一个节点插入一个内容,能够先把内容进行封装,再插入。
var content = ""; $("#head").html(content);
另外就是进行js文件的压缩。
随着jQuery的不断被使用,愈来愈多的优化方法会被发现。