Dies sind hauptsächlich nur einige Dinge, die ich mich gefragt habe. Vielleicht kann mir jemand ein bisschen mehr Einblick in sie geben. Ich werde auch mitteilen, was mir bisher aufgefallen ist!
Das erste, was ich mich gefragt habe ... gibt es einen guten oder guten Grund für die Verwendung:
$('element').each(function (i, el) { });
-- gegen --
$.each($('element'), function (i, el) { });
Wenn ich mir die jQuery-Dokumente ansehe, sehe ich keinen Reim oder Grund für den einen oder anderen (vielleicht kennen Sie eine Instanz oder zusätzliche Dinge, die man über die andere tun kann.
Aber noch wichtiger ist ich mit betroffenen Geschwindigkeit hier
// As opposed to $.each() looping through a jQuery object
// -- 8x faster
for (var i = 0, $('.whatever').length; i < len; i++) {
$('.whatever')[i] // do stuff
}
Wenn Sie diese Besuche jsFiddle DEMO hier , werden Sie den Unterschied in der Geschwindigkeit sehen mit einer von ihnen im Grunde gleichwertig ist, aber noch wichtiger Ich fühle mich wie ich sollte immer werden mit for()Schleifen ...
Ich habe nur Unit-Tests durchgeführt (50.000 Mal jede der 5 verschiedenen Szenariofunktionen durchlaufen), einfach eine Reihe von Listenelementen durchlaufen und a festgelegt data-newAttr, nichts Besonderes.
FRAGE :: Ich denke, meine größte Frage ist, warum nicht immer for-Schleifen verwenden, während ich durch ein Objekt iteriere. Gibt es überhaupt einen Grund, $ .each () zu verwenden? Verwenden Sie immer for () -Schleifen, auch wenn Sie jQuery-Objekte durchlaufen?
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
Nur meine 2 Cent. :) :)