Javascript中最常见的计算能力浪费是什么?

时间:2010-12-21 04:46:06

标签: javascript jquery performance

我们都见过这样做的人:

jQuery('a').each(function(){
    jQuery(this)[0].innerHTML += ' proccessed';
});

function letsPoluteNS() {
    polute = '';
    for (morePolution = 0; morePolution < arguments.length; morePolution++)
        polute.join(arguments[morePolution]);
    return polute;
}

等等。我想知道人们看到了最常见的JavaScript / jQuery技术,它会减慢页面速度和/或浪费JavaScript引擎的时间。

我知道这个问题可能似乎不符合一个被接受的问题,但我在问“什么是最常见的浪费?”

5 个答案:

答案 0 :(得分:3)

我对此感到内疚。基本上只在jQuery选择器中使用元素的类。而不是将类选择器与元素标记名称组合。

<div></div>
<div class="hide"></div>
<div class="show"></div>
<div class="hide"></div>
<div class="hide again"></div>

$(".hide").hide();

而不是更快

$("div.hide").hide()


这也是效率低下的,许多人没有使用选择器的上下文参数

$( selector, [ context ] )


   $("#mydiv").click(function () {
      $("#mydiv span").show();
   }

这可以更好地处理:

   $("#mydiv").click(function () {
      $("span", this).show();
   }

答案 1 :(得分:1)

跟踪用户和大量宣传有关的任何事情。那肯定浪费了空间。

我猜错误地使用诸如使用类而不是id作为非常复杂的html中的选择器之类的东西会减慢速度。 当然还有ie

答案 2 :(得分:1)

您还会看到:

$('#this').find('a').doSomeThing();

知道什么更有效率?一个覆盖两者的选择器将为您提供更好的服务...

$('#this a').doSomeThing();

这似乎很明显,但你会一直看到它。

答案 3 :(得分:0)

调用$ .animate来动画元素会使事情变慢。

答案 4 :(得分:0)

没有从getgo中声明你的变量,所以它们被缓存,不使用闭包并重复相同函数/调用/等的x个数,而只使用eval()来改变每个的id或类。