jQuery最佳实践
suoyuesmile opened this issue · 1 comments
suoyuesmile commented
参考:jQuery最佳实践
suoyuesmile commented
-
使用最新的jQuery:迭代快,性能提升也快
-
用对选择器
//最快的:id选择器和元素标签选择器
$('#id')
$('input')
//较慢的选择器:class选择器
$('.class')
//最慢的选择器:伪类和属性属性选择器
$(':hidden')
$('[attri=value]')
- 理解子与父的关系:父子关系使用不同,效率不同
- 不要过度使用jQuery 速度再快,性能不能与原生的相比
- 做好缓存:尽量少的重复使用选择器
- 使用链式写法:自动缓存,速度更快
- 事件委托处理:利用冒泡模式
$('td').on("click", function(){
$(this).toggleClass("click");
});
//改写
$(document).on("click", "td", function(){
$(this).toggleClass("click");
});
//取消
$(document).off("click", "td");
- 少改动DOM结构:改动DOM开销大
- 正确处理循环:能用原生就用原生
10 少生成jQuery对象:jQuery对象会占不少资源 - 选择作用域最短方法
var a = 0;
function x(){
var a += 1
}
//改写
function y(){
var a = 0;
a += 1;
}
12. 使用Pub/Sub模式管理事件:改写成事件触发形式
```js
function dosomething{
doSomethingElse();
doOneMoreThing();
}
//改写
function doSomething{
$.trigger("DO_SOMETHING_DONE");
}
$(document).on("DO_SOMETHING_DONE", function(){
doSomethingElse();
});