22点关于jquery性能优化的建议(2)


//糟糕
var
    $container=$('#container'),
    $containerLi=$('#container li'),
    $containerLiSpan=$('#container li span');

复制代码 代码如下:


// 建议 (高效)
var
    $container=$('#container '),
    $containerLi=$container.find('li'),
    $containerLiSpan= $containerLi.find('span');



14. 避免通用选择符

将通用选择符放到后代选择符中,性能非常糟糕。

复制代码 代码如下:


//糟糕
$('.container > *');

复制代码 代码如下:


//建议
$('.container').children();

15. 避免隐式通用选择符

通用选择符有时是隐式的,不容易发现。

复制代码 代码如下:


//糟糕
$('.someclass :radio');

复制代码 代码如下:


//建议
$('.someclass input:radio');

16. 优化选择符

例如,id 选择符应该是唯一的,所以没有必要添加额外的选择符。

复制代码 代码如下:


//糟糕
$('div#myid');
$('div#footer a.myLink');

复制代码 代码如下:


// 建议
$('#myid');
$('#footer .myLink');

17. 避免多个 ID 选择符

在此强调,ID 选择符应该是唯一的,不需要添加额外的选择符,更不需要多个后代 ID 选择符。

复制代码 代码如下:


//糟糕
$('#outer #inner');

复制代码 代码如下:


//建议
$('#inner');

18. 坚持最新版本

新版本通常更好:更轻量级,更高效。显然,你需要考虑你要支持的代码的兼容性。例如,2.0 版本不支持 ie 6/7/8。

19. 摒弃弃用方法

关注每个新版本的废弃方法是非常重要的并尽量避免使用这些方法。

复制代码 代码如下:


//糟糕- live 已经废弃 
$('#stuff').live('click',function() {
  console.log('hooray');
});

复制代码 代码如下:


// 建议
$('#stuff').on('click',function() {
  console.log('hooray');
});
// 注:此处可能不当,应为live能实现实时绑定,delegate或许更合适

20. 利用 CDN

谷歌的 CND 能保证选择离用户最近的缓存并迅速响应。(使用谷歌CND请自行搜索地址,此处地址以不能使用,推荐 jquery 官网提供的 CDN)。

21. 必要时组合 jQuery 和 javascript 原生代码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgpfdz.html