Es scheint, dass die meisten interessanten und wichtigen Tipps bereits erwähnt wurden, so dass dies nur eine kleine Ergänzung ist.
Der kleine Tipp ist die jQuery.each(object, callback) Funktion. Jeder benutzt wahrscheinlich die jQuery.each(Rückruf) Funktion, um über das jQuery-Objekt selbst zu iterieren, da dies selbstverständlich ist. Die Dienstprogrammfunktion jQuery.each(object, callback) iteriert über Objekte und Arrays. Lange Zeit habe ich irgendwie nicht gesehen, wozu sie dienen könnte, abgesehen von einer anderen Syntax (mir macht es nichts aus, ganz altmodische Schleifen zu schreiben), und ich schäme mich ein wenig, dass ich ihre Hauptstärke erst kürzlich erkannt habe.
Die Sache ist die, dass seit der Körper der Schleife in jQuery.each(object, callback) ist eine Funktion erhalten Sie eine neue Reichweite jedes Mal in der Schleife, was besonders praktisch ist, wenn Sie Verschlüsse in der Schleife.
Mit anderen Worten: Ein typischer, weit verbreiteter Fehler ist es, etwas zu tun wie:
var functions = [];
var someArray = [1, 2, 3];
for (var i = 0; i < someArray.length; i++) {
functions.push(function() { alert(someArray[i]) });
}
Wenn Sie nun die Funktionen in der Datei functions
Array, erhalten Sie dreimal eine Meldung mit dem Inhalt undefined
was höchstwahrscheinlich nicht das ist, was Sie wollten. Das Problem ist, dass es nur eine Variable gibt i
und alle drei Abschlüsse beziehen sich darauf. Wenn die Schleife beendet ist, wird der Endwert von i
ist 3, und someArrary[3]
es undefined
. Sie können das Problem umgehen, indem Sie eine andere Funktion aufrufen, die die Schließung für Sie erstellt. Oder Sie verwenden die jQuery-Dienstprogramm, das es im Grunde tun es für Sie:
var functions = [];
var someArray = [1, 2, 3];
$.each(someArray, function(item) {
functions.push(function() { alert(item) });
});
Wenn Sie nun die Funktionen aufrufen, erhalten Sie wie erwartet drei Warnmeldungen mit dem Inhalt 1, 2 und 3.
Im Allgemeinen ist es nichts, was man nicht auch selbst tun könnte, aber es ist schön, es zu haben.