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

qwe*_*ymk 5 javascript performance jquery

我们都见过这样做的人:

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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

Joh*_*ock 3

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

<div></div>
<div class="hide"></div>
<div class="show"></div>
<div class="hide"></div>
<div class="hide again"></div>
Run Code Online (Sandbox Code Playgroud)
$(".hide").hide();
Run Code Online (Sandbox Code Playgroud)

而不是更快

$("div.hide").hide()
Run Code Online (Sandbox Code Playgroud)

而且这效率很低,很多人不使用选择器的上下文参数

$( 选择器, [ 上下文 ] )


   $("#mydiv").click(function () {
      $("#mydiv span").show();
   }
Run Code Online (Sandbox Code Playgroud)

可以这样处理更好:

   $("#mydiv").click(function () {
      $("span", this).show();
   }
Run Code Online (Sandbox Code Playgroud)

  • 什么?`#hello` 绝对是更快的一个(尽管有 `document.getElementById()`)。 (4认同)