Це, в основному, лише деякі речі, про які я дивувався, можливо, хтось може дати мені трохи більше уявлення про них, я також поділюся тим, що я помітив до цього часу!
Перше, що мені було цікаво ... чи є якась різниця корисна чи причина використовувати:
$('element').each(function (i, el) { });
-- проти --
$.each($('element'), function (i, el) { });
Переглядаючи документи jQuery, я не бачу жодної рими чи причини того чи іншого (можливо, ви знаєте приклад або додаткові дії, які можна зробити над іншими.
Але що ще важливіше, мене тут хвилює швидкість
// As opposed to $.each() looping through a jQuery object
// -- 8x faster
for (var i = 0, $('.whatever').length; i < len; i++) {
$('.whatever')[i] // do stuff
}
Якщо ви заглянете цю jsFiddle DEMO тут , ви побачите, що різниця в швидкості в основному еквівалентна будь-якій з них, але, що важливіше, я відчуваю, що завжди повинен використовувати for()цикли ...
Я просто перевіряв модуль (перебираючи кожну з 5 різних функцій сценарію, 50 000 разів), просто переглядаючи купу елементів списку, і встановлюючи data-newAttr, нічого особливого.
ЗАПИТАННЯ: Думаю, моє найбільше питання полягає в тому, чому не завжди використовувати для циклів під час ітерації через об'єкт ?? Чи є сенс використовувати $ .each ()? Чи завжди ви використовуєте цикли for (), навіть коли переглядаєте об'єкти jQuery?
Function type: Execution Time:
_testArea.each() + $(this) 1947 <-- using $(this) slows it down tremendously
$.each() + $(this) 1940
_testArea.each() + el(plain JS) 458 <-- using the Element speeds things up
$.each() + el(plain JS) 452
for() loop + plainJS[0] iteration 236 <-- over 8x faster
Тільки мої 2 центи. :)