jQuery选择器与局部变量的性能

前端之家收集整理的这篇文章主要介绍了jQuery选择器与局部变量的性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否建议,当我需要在函数的范围内多次访问jQuery选择器的结果时,我运行选择器一次并将其分配给局部变量?

原谅我在这里的真实例子,但我认为它说明了这个问题.
那么这个代码会执行得更快吗?

var execute = function(){
    var element = $('.myElement');
    element.css('color','green');
    element.attr('title','My Element');
    element.click(function(){
        console.log('clicked');
    });
}

比这段代码

var execute = function(){
    $('.myElement').css('color','green');
    $('.myElement').attr('title','My Element');
    $('.myElement').click(function(){
        console.log('clicked');
    });
}

如果没有区别,任何人都可以解释为什么?选择jQuery缓存元素后,所以后续的选择器不必再麻烦搜索dom了?

解决方法

重新使用选择器参考,你的第一种情况肯定会更快.这是我作为证明的测试:

http://jsperf.com/caching-jquery-selectors

后一种情况,重新定义您的选择器,报告为〜35%.

猜你在找的jQuery相关文章