jQuery性能优化技术分析
首先,使用jQuery类库的最新版本
与以前版本相比,新版本的jQuery将进行bug修复和一些优化。但是,需要注意的是,在更改版本后,不要忘记测试代码,毕竟有时它并不是完全向后兼容的。
两。使用合适的选择器
jQuery选择器对最坏情况的最佳性能如下:
ID选择器,如$(' # ID,上下文)
标签选择器,如$('p',上下文)
类选择器,如$(类、上下文)
属性选择符,例如$({属性、上下文)
伪类选择器,如$('隐藏',上下文)
补充和注意事项:
将上下文上下文指定给选择器,它可以减少位置元素的范围
避免ID,ID重复错误代码:var el = $(美元的#列表# item1的)
避免标签或类改性剂的ID,错误代码:var el = $(美元'ul # item1的)
如果你使用属性选择器来指定标签选择器属于,它可以加快访问速度,正确的代码:var el = $(${标题=链接)
三。缓存对象
这里的表现是坏的:
$(#家),Css(…);
$(#家)。Bind(听到咔哒声,功能)({ });
$(#家),AddClass(…);
说明:jQuery将在创建每个选择器的过程中发现DOM,耗时和性能。
更好的方法:
VaR(# HomeLink =美元美元的家,上下文);
homelink.css美元(…);
homelink.bind美元(听到咔哒声,功能)({ });
homelink.addclass美元(…);
注意:不要让相同的选择器多次出现在代码中。
四,循环中的DOM操作
使用jQuery可以轻松地添加、删除或修改DOM节点,但在某些循环中,例如为()、()或$(),下面有一个示例。
var list = $(美元的#列表);
对于(var i = 0;i < 100;i + +){
list.append美元('+我+的);
}
说明:添加李节点100次,此操作的性能不低,所以更好的方法是在插入DOM树之前创建所有要添加的节点,然后立即将它们添加到DOM树中:
var list = $(美元的#列表),
片段=;
对于(var i = 0;i < 100;i + +){
片段++;
}
list.append美元(片段);
五。使用jQuery对象数组
使用jQuery选择器获得结果是一个jQuery对象,在性能方面,建议使用一个简单的while循环,而不是$(),这使代码更快。
还要注意,检查长度是检查jQuery对象是否存在的一种方法。
var list = $(美元的#列表);
如果($ list){总是真的
做某事
}
如果($列表。长度)以元素返回true
做某事
}
六。事件代理
每一个Javascript事件,如点击,鼠标悬停,冒泡到父节点。这将是有用的当我们需要调用同一个函数的多个元素。
…
…
…
第一条为$(var $ # item1的),
2 = $(美元的# 2),
$(# Item3 Item3 =美元);
…
item1.click美元(函数(){…});
item2.click美元(函数(){…});
item3.click美元(函数(){…});
…
说明:这样,如果有100里,100个事件必然要绑定,显然,不科学,损失很多。
更好的方法是绑定事件到李父母UL,然后获取当前元素的点击通过event.target。
var list = $(美元的#列表);
list.click美元(功能(e){)
VaR(e.target currentItem美元=美元); / / e.target捕获当前触发事件目标元素
…
});
七。把你的代码转换成jQuery插件
如果您每次花时间编写类似的jQuery代码,可以将类似代码的一部分考虑为插件,它可以使代码更好地重用,并且可以帮助您有效地组织代码。
八。使用Javascript数组连接()来连接字符串
使用联接()方法有助于在处理长字符串时优化性能。
var arr = { };
对于(var i = 0;i < 100;i + +){
ARR {我} =+我+;
}
list.html美元(arr.join('));
九。合理利用HTML5的数据属性
HTML5的数据属性可以帮助我们插入数据,尤其是前端和后端之间的数据交换。jQuery的数据()方法利用HTML5的属性,来自移动数据。
…
…
VaR(#美元美元公司= '信息');
无功infoindex = infolink.data美元('info-index);
变量类型= $ infolink.data('linkinfo);
十。尽可能使用本机Javascript方法。
如:
$(这)。Css(色彩:'蓝色');
优化:
this.style.color = '蓝色';
如:
$('');
优化:
$(document.createelement('p'));
十一。压缩Javascript
使用压缩工具压缩Javascript文件。
当一个项目发布时,应该使用压缩版本的Javascript文件。
希望本文能对大家的jQuery程序设计有所帮助。