1. Beim Verketten von Zeichenfolgen in Browsern niedrigerer Versionen (z. B. IE6, IE7 usw.) ist die Verwendung der Array-Verknüpfungsmethode viel effizienter als die Verwendung des +-Zeichens zum Verbinden (z. B. ['aaa', 'bbb', 'ccc'].join () effizienter als 'aaa'+'bbb'+'ccc');
2. Array:
Pop ist effizienter als Shift und Push ist effizienter als Unshift. Dies ist wichtig für den Entwurf einer binären Heap-Struktur. Am besten platzieren Sie das größte oder kleinste Element am Ende des Arrays.
3. Beim Runden von Zahlen verwenden Sie am besten Schichtoperationen:
1,1 >> 0;
4. Verwenden Sie direkte Mengen, um Array und Objekt zu erstellen:
var a = [];
var o = {};
5. Verschachteln Sie nicht zu viele Objektebenen, um Objektsuchen zu reduzieren:
Verwenden Sie nicht abcde. Diese Entwurfsmethode ruft das E-Objekt ab.
6. Schlüsselwert-entsprechender Wert, verglichen mit Switch-Fall, Schlüsselwert-entsprechend, effizienter als Switch-Fall, wurde von verschiedenen Browsern getestet, Sie können den Artikel über diesen Vergleich lesen, kleine Javascript-Experimente;
7. Wenn Sie jq verwenden, gibt es auch einen Vergleich zwischen $('xxxx').empty().append('xxxxxx'); und $('xxxxx').html('xxxxx');, das Ergebnis ist $ ('xxxx').empty().append('xxxxxxx'); gewinnt, die Artikeladresse ist ein kleines jQuery-Experiment;
8. Schleife
In JavaScript können wir drei Schleifen verwenden: for(;;), while() und for(in). Unter diesen drei Schleifen ist for(in) äußerst ineffizient, da es den Hash-Schlüssel abfragen muss Kann Es sollte so wenig wie möglich verwendet werden. Die Leistung von for(;;) und while-Schleife sollte grundsätzlich als gleichwertig bezeichnet werden (bei Verwendung im täglichen Gebrauch).
Wenn eine Schleifenvariable inkrementiert oder dekrementiert wird, weisen Sie beim letzten Lesen keinen Wert nur der Schleifenvariablen zu.
Wenn Sie die Länge des Arrays vergleichen möchten, sollten Sie das Längenattribut des Arrays vorab in eine lokale Variable einfügen, um die Anzahl der Abfragen zu reduzieren.
9. Lokale Variablen und globale Variablen
Die Zugriffsgeschwindigkeit lokaler Variablen ist schneller als die globaler Variablen, da globale Variablen tatsächlich Mitglieder des globalen Objekts sind, während lokale Variablen auf dem Stapel der Funktion platziert werden.
10. Verwenden Sie Eval nicht
Die Verwendung von eval entspricht einem erneuten Aufruf der Interpretations-Engine, um den Inhalt zur Laufzeit auszuführen, was viel Zeit in Anspruch nimmt. Derzeit können Funktionsvorlagen mit von JavaScript unterstützten Abschlüssen implementiert werden (Einzelheiten zu Abschlüssen finden Sie in den entsprechenden Inhalten zur funktionalen Programmierung).
11. String-Verkettung
Wenn Sie eine Zeichenfolge anhängen, verwenden Sie am besten die Operation s+=anotherStr anstelle von s=s+anotherStr;
12. Konvertieren Sie Zahlen in Zeichenfolgen und verwenden Sie „“ + 1. Obwohl es etwas hässlich aussieht, ist dies in Bezug auf die Leistung tatsächlich die effizienteste:
("" +) > String() > .toString() > new String()
Dieser Artikel ähnelt tatsächlich in gewisser Weise der folgenden „direkten Menge“. Versuchen Sie, interne Vorgänge zu verwenden, die zur Kompilierungszeit verwendet werden können, um schneller zu sein als Benutzervorgänge, die zur Laufzeit verwendet werden.
String() ist eine interne Funktion und daher sehr schnell, während .toString() die Funktion im Prototyp abfragen muss und daher nicht so schnell ist. String() wird verwendet, um eine exakte Kopie zurückzugeben.
13. Konvertieren Sie Gleitkommazahlen in Ganzzahlen. Viele Leute verwenden parseInt() tatsächlich, um Zeichenfolgen in Zahlen umzuwandeln, nicht zwischen Gleitkommazahlen und Ganzzahlen Math.floor() oder Math.round().
14. String-Traversal-Operation
Um Schleifenoperationen für Zeichenfolgen wie Ersetzen und Suchen auszuführen, sollten reguläre Ausdrücke verwendet werden, da die Schleifengeschwindigkeit von JavaScript selbst relativ langsam ist und die Operation regulärer Ausdrücke eine in C-Sprache geschriebene API ist und die Leistung sehr gut ist ;
15. Timer
Wenn Sie auf Code abzielen, der ständig ausgeführt wird, sollten Sie nicht setTimeout, sondern setInterval verwenden. setTimeout muss jedes Mal einen Timer zurücksetzen;
Aktualisierung..., bitte bleiben Sie dran!