【发布时间】:2015-12-05 05:17:30
【问题描述】:
我想了解提高 jQuery 代码性能的最佳方法。
实际上,我知道如何缓存 jQuery 选择器以不多次触及 DOM,如下所示:
最糟糕的方式
$('.selector').text('Text');
$('.selector').text('New Text');
更好的方法
var elem = document.querySelectorAll('.selector');
$(elem).text('Text');
$(elem).text('New Text');
最好的方法
var $elem = $('.selector');
$elem.text('Text');
$elem.text('New Text');
第一个问题:为什么第三种方法比第二种方法快,$(elem) 究竟在这里做什么?
第二个问题:当我在jQuery中使用.data()时,我访问的是内部缓存,并且不接触DOM,那么JavaScript中的内部缓存是什么?
【问题讨论】:
-
第二个不等同于其他,只匹配第一个元素与类
selector,你肯定是指document.querySelectorAll('.selector')。无论如何,如果你没有成千上万的元素要匹配,你不应该太担心这里的性能
标签: javascript jquery dom