首先不得不承认它的优秀 是一个轻量级的js库,但是在某些时候用的时候不注意的用法 会引程序性能大大的降低。
第一,选择器
$("#traffic_light input.on").bind("click", function(){ ... });
$("#traffic_light input.on").css("border", "1px dashed yellow");
$("#traffic_light input.on").css("background-color", "orange");
$("#traffic_light input.on").fadeIn("slow");
$("#traffic_light input.on").each(function(){
});
像这些方法 在firefox 上看不出效果 但是在IE 上运行完全不一样,因为jquery 自身选择就每次去找这个对象自身不知不觉进入循环中 。
比如像 .css 这方法 去改变样式和直接for 拼在 style =“”中的效果 相差 1000ms (当然Doc比较大时候)
第二,尽量减少js each(循环) 的次数
第三,若同一个对象要用多次的时候,尽量用一个对象存储(或全局变量) ,这样jquery只会去查找一次,而不会你上面一次查找多次 。
第四,查找时尽量用ID 尽量少用class 查找(本人测试过,速度有非常大的差异)
第五,尽量使用原生的JavaScript方法,因为它不需要拐弯抹角的去调用许多函数。
相关文档可参考:
[url]https://docs.google.com/View?docID=dft4vhq9_22g93szvdd&revision=_latest
[/url]
[url]https://docs.google.com/View?docID=dft4vhq9_23cnccgwc7&revision=_latest
[/url]
[url]https://docs.google.com/View?docid=dft4vhq9_21hjb7j9fz&revision=_latest
[/url]
第一,选择器
$("#traffic_light input.on").bind("click", function(){ ... });
$("#traffic_light input.on").css("border", "1px dashed yellow");
$("#traffic_light input.on").css("background-color", "orange");
$("#traffic_light input.on").fadeIn("slow");
$("#traffic_light input.on").each(function(){
});
像这些方法 在firefox 上看不出效果 但是在IE 上运行完全不一样,因为jquery 自身选择就每次去找这个对象自身不知不觉进入循环中 。
比如像 .css 这方法 去改变样式和直接for 拼在 style =“”中的效果 相差 1000ms (当然Doc比较大时候)
第二,尽量减少js each(循环) 的次数
第三,若同一个对象要用多次的时候,尽量用一个对象存储(或全局变量) ,这样jquery只会去查找一次,而不会你上面一次查找多次 。
第四,查找时尽量用ID 尽量少用class 查找(本人测试过,速度有非常大的差异)
第五,尽量使用原生的JavaScript方法,因为它不需要拐弯抹角的去调用许多函数。
相关文档可参考:
[url]https://docs.google.com/View?docID=dft4vhq9_22g93szvdd&revision=_latest
[/url]
[url]https://docs.google.com/View?docID=dft4vhq9_23cnccgwc7&revision=_latest
[/url]
[url]https://docs.google.com/View?docid=dft4vhq9_21hjb7j9fz&revision=_latest
[/url]
本文分享了使用jQuery时提高网页性能的五个实用技巧,包括优化选择器使用、减少循环次数、利用变量缓存、优先使用ID查找及采用原生JavaScript方法等。

被折叠的 条评论
为什么被折叠?



