$ .each () vs for () loop - y rendimiento

Estas son principalmente algunas de las cosas que me he estado preguntando, tal vez alguien pueda darme un poco más de información sobre ellas, ¡compartiré lo que he notado hasta ahora también!

Lo primero que me he preguntado ... ¿hay alguna diferencia buena o razón para usar:

$('element').each(function (i, el) { });

-- versus --

$.each($('element'), function (i, el) { });

En cuanto a los documentos de jQuery, no puedo ver ninguna rima ni la razón de uno u otro (tal vez sepa una instancia o cosas adicionales que uno puede hacer sobre el otro).

Pero lo más importante es que me preocupavelocidad aquí

// As opposed to $.each() looping through a jQuery object
// -- 8x faster 
for (var i = 0, $('.whatever').length; i < len; i++) {
    $('.whatever')[i] // do stuff
}

Si miras estoDEMO de js aquíVerás que la diferencia de velocidad es básicamente equivalente a cualquiera de ellos, pero lo más importante es que siento que debería hacerlo.siempre estar usandofor() bucles ...

Solo estaba haciendo pruebas unitarias (repasando cada una de las 5 funciones de escenarios diferentes, 50,000 veces), simplemente repasando un grupo de elementos de la lista y estableciendo unadata-newAttr, nada especial.

PREGUNTA :: Supongo que mi mayor pregunta es, ¿por qué no?siempre ¿Utilizar para bucles mientras se itera a través de un objeto? ¿Hay incluso un punto para usar $ .each ()? ¿Siempre usas para () bucles incluso cuando pasas por objetos jQuery?

DEMO de js aquí

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

Sólo mis 2cents. :)

Respuestas a la pregunta(6)

Su respuesta a la pregunta