jQuery objects in for loop as var vs reference (v2)

Revision 2 of this benchmark created on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/prototype/1/prototype.js">
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<p>
  Hidden table so it looks prettier
</p>
<table id="table" style="display:none;">
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
  <tr class="table-row">
    <td class="cell-1">
      apples
    </td>
    <td class="cell-2">
      bananas
    </td>
    <td class="cell-3">
      carrots
    </td>
    <td class="cell-4">
      grapes
    </td>
  </tr>
</table>
<script>
  var array1 = [];
  var array2 = [];
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
for loop using jquery object reference
for (var array1_x = 0, array1len = $('#table').children().length; array1_x < array1len; array1_x++) {
  var row = $($('#table').children()[array1_x]);
  var child1 = $(row.children()[1]),
      child2 = $(row.children()[2]);
  if (child2.length) {
    array1.push(child1.attr('id'));
  }
}
ready
for loop with jquery variable re-reference
for (var array2_x = 0, array2len = $('#table').children().length; array2_x < array2len; array2_x++) {
  if ($($($('#table').children()[array2_x]).children()[2]).length) {
    array2.push($($($('#table').children()[array2_x]).children()[1]).attr('id'));
  }
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.