【jQuery】探索高效jQuery的奥秘

讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。首先,如果你是一个javascript新手,我建议您阅读 《给JavaScript初学者的24条最佳实践》 ,这是一篇高质量的javascript教程,接触jQuery之前最好先阅读。当你准备使用jQuery,我强烈建议你遵循下面这些指南:缓存变量DOM遍历是昂贵的,所以尽量将会重用的元素缓存。

// 糟糕h = $(‘#element’).height();$(‘#element’).css(‘height’,h-20);// 建议$element = $(‘#element’);h = $element.height();$element.css(‘height’,h-20);

复制代码

避免全局变量jQuery与javascript一样,一般来说,最好确保你的变量在函数作用域内。

// 糟糕$element = $(‘#element’);h = $element.height();$element.css(‘height’,h-20);// 建议var $element = $(‘#element’);var h = $element.height();$element.css(‘height’,h-20);

复制代码

使用匈牙利命名法在变量前加$前缀,便于识别出jQuery对象。

// 糟糕var first = $(‘#first’);var second = $(‘#second’);var value = $first.val();// 建议 – 在jQuery对象前加$前缀var $first = $(‘#first’);var $second = $(‘#second’),var value = $first.val();

复制代码

使用 Var 链(单 Var 模式)将多条var语句合并为一条语句,我建议将未赋值的变量放到后面。

var$first = $(‘#first’),$second = $(‘#second’),value = $first.val(),k = 3,cookiestring = ‘SOMECOOKIESPLEASE’,i,j,myArray = {};

复制代码

请使用’On’在新版jQuery中,更短的 on(“click”) 用来取代类似 click() 这样的函数。在之前的版本中 on() 就是 bind()。自从jQuery 1.7版本后,on() 附加事件处理程序的首选方法。然而,出于一致性考虑,你可以简单的全部使用 on()方法。

// 糟糕$first.click(function(){ $first.css(‘border’,’1px solid red’); $first.css(‘color’,’blue’);});$first.hover(function(){ $first.css(‘border’,’1px solid red’);})// 建议$first.on(‘click’,function(){ $first.css(‘border’,’1px solid red’); $first.css(‘color’,’blue’);})$first.on(‘hover’,function(){ $first.css(‘border’,’1px solid red’);})

复制代码

精简javascript一般来说,最好尽可能合并函数。

// 糟糕$first.click(function(){ $first.css(‘border’,’1px solid red’); $first.css(‘color’,’blue’);});// 建议$first.on(‘click’,function(){ $first.css({ ‘border’:’1px solid red’, ‘color’:’blue’ });});

复制代码

链式操作jQuery实现方法的链式操作是非常容易的。下面利用这一点。

// 糟糕$second.html(value);$second.on(‘click’,function(){ alert(‘hello everybody’);});$second.fadeIn(‘slow’);$second.animate({height:’120px’},500);// 建议$second.html(value);$second.on(‘click’,function(){ alert(‘hello everybody’);}).fadeIn(‘slow’).animate({height:’120px’},500);

复制代码

维持代码的可读性伴随着精简代码和使用链式的同时,可能带来代码的难以阅读。添加缩紧和换行能起到很好的效果。

将会错过更好的风景,保持一份平和,保持一份清醒。

【jQuery】探索高效jQuery的奥秘

相关文章:

你感兴趣的文章:

标签云: