22点关于jquery性能优化的建议
首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。
首先,如果你是一个javascript新手,我建议您阅读《24JavaScriptBestPracticesforBeginners》,这是一篇高质量的javascript教程,接触jQuery之前最好先阅读。
当你准备使用jQuery,我强烈建议你遵循下面这些指南:
1.缓存变量
DOM遍历是昂贵的,所以尽量将会重用的元素缓存。
//糟糕 h=$('#element').height(); $('#element').css('height',h-20);
//建议 $element=$('#element'); h=$element.height(); $element.css('height',h-20);
2.避免全局变量
jQuery与javascript一样,一般来说,最好确保你的变量在函数作用域内。
//糟糕 $element=$('#element'); h=$element.height(); $element.css('height',h-20);
//建议 var$element=$('#element'); varh=$element.height(); $element.css('height',h-20);
3.使用匈牙利命名法
在变量前加$前缀,便于识别出jQuery对象。
//糟糕 varfirst=$('#first'); varsecond=$('#second'); varvalue=$first.val();
//建议-在jQuery对象前加$前缀 var$first=$('#first'); var$second=$('#second'), varvalue=$first.val();
4.使用var链(单var模式)
将多条var语句合并为一条语句,我建议将未赋值的变量放到后面。
var $first=$('#first'), $second=$('#second'), value=$first.val(), k=3, cookiestring='SOMECOOKIESPLEASE', i, j, myArray={};
5.请使用'on'
在新版jQuery中,更短的on("click")用来取代类似click()这样的函数。在之前的版本中on()就是bind()。自从jQuery1.7版本后,on()附加事件处理程序的首选方法。然而,出于一致性考虑,你可以简单的全部使用on()方法。
//糟糕 $first.click(function(){ $first.css('border','1pxsolidred'); $first.css('color','blue'); });
$first.hover(function(){ $first.css('border','1pxsolidred'); })