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,性能优化
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?