Detailliertes Beispiel der Lesegeschwindigkeit von JS-Objekten

Detailliertes Beispiel der Lesegeschwindigkeit von JS-Objekten

1. Der Zugriff auf Literale und lokale Variablen ist am schnellsten, während der Zugriff auf Array-Elemente und Objektmitglieder relativ langsam ist. Beim Zugriff auf ein Objektelement wird die Prototypenkette ebenso durchsucht wie die Scope-Kette.

2. Wenn sich das gefundene Mitglied zu tief in der Prototypkette befindet, ist die Zugriffsgeschwindigkeit langsam.

Versuchen Sie daher, die Anzahl der Suchvorgänge und die Verschachtelungstiefe der Objektmitglieder zu minimieren.

Beispiele

 // Führe zwei Objektelementsuchen durch function hasEitherClass(element, className1, className2) {
    returniere element.klassenName === Klassenname1 || element.klassenName === Klassenname2;
  }
  //Optimierung, wenn sich die Variable nicht ändert, können Sie eine lokale Variable verwenden, um den Suchinhalt zu speichern function hasEitherClass(element, className1, className2) {
    const currentClassName = element.klassenname;
    gibt aktuellenKlassennamen zurück === Klassenname1 || aktuellenKlassennamen === Klassenname2;
  }

Inhaltserweiterung:

Leistungsprobleme bei JS-Objektoperationen

1 Je länger die Zeichenfolge ist, desto mehr Zeit wird für die Verwendung von str+="xxx" benötigt, was sich erheblich (fast exponentiell) erhöht.

2 Wenn das Objektarray nur 400 Elemente hat, beträgt die Zugriffszeit auf die Eigenschaften und Methoden jedes Elements 1/4 Millisekunde für jede Eigenschaft oder Methode! Wenn ein Element 10 Attribute hat, dauert eine Durchquerung des Arrays mindestens 1 Sekunde, was schrecklich ist.

3 Dateisystemoperationen, insbesondere Schreiboperationen, sind nahezu proportional zum Quadrat der Länge der zu schreibenden Zeichenfolge.

4 Verwenden Sie keine eigenen Methoden, um Zeichenfolgenoperationen durchzuführen, insbesondere Ersetzungen, Suchen und Vergleiche.

Ich habe keine guten Kenntnisse über reguläre Ausdrücke. Bei der Verwendung von benutzerdefinierten Funktionen habe ich festgestellt, dass bei der in 2) oben erwähnten Durchquerung

Die benutzerdefinierte Funktion nimmt bis zu 80 % der Gesamtzeit in Anspruch!

Damit ist dieser Artikel mit dem ausführlichen Beispiel der Lesegeschwindigkeit von JS-Objekten abgeschlossen. Weitere Informationen zur Lesegeschwindigkeit von JS-Objekten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Analyse von 4 Implementierungsmethoden der JavaScript-Vorabanalyse
  • JS-Bereich, Bereichskette und Vorabanalyse
  • Detaillierte Erklärung des JS-Umfangs und des Voranalysemechanismus
  • Objektorientierte JavaScript-Implementierung eines Lupengehäuses
  • 5 häufig verwendete Objekte in JavaScript
  • JavaScript Voranalyse, Objektdetails

<<:  Zen HTML Elements Freunde, die Zen-Codierung verwenden, können es sammeln

>>:  Webentwickler sind besorgt über die Koexistenz von IE7 und IE8

Artikel empfehlen

Detaillierte Analyse von Absturzfällen bei MySQL-Instanzen

[Problembeschreibung] Unsere Produktionsumgebung ...

Detaillierte Erklärung der Tomcat-Verzeichnisstruktur

Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...

Das Bildelement img hat in IE6 zusätzlichen Leerraum

Beim Erstellen eines DIV+CSS-Layouts einer Seite ...

Tutorial zum Herunterladen und Installieren von MySQL 8.0.12 WinX64

MySQL 8.0.12 Download- und Installations-Tutorial...

In einem Artikel erfahren Sie, wie Sie ein Vue-Plugin schreiben

Inhaltsverzeichnis Was ist ein Plugin Plugins sch...

Hyperlink-Tag für HTML-Webseiten

Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...

Detaillierte Erklärung zum Ändern des Standardports von nginx

Finden Sie zunächst heraus, wo sich die Konfigura...

Vue3+TypeScript kapselt Axios und implementiert Anforderungsaufrufe

Auf keinen Fall. Es stellt sich heraus, dass es L...

So erzielen Sie mit CSS einen Daten-Hotspot-Effekt

Die Wirkung ist wie folgt: analysieren 1. Hier se...

MySQL-Variablendeklaration und Analyse gespeicherter Prozeduren

Deklarieren von Variablen Festlegen globaler Vari...

Nginx definiert die Zugriffsmethode für Domänennamen

Ich erstelle derzeit Nginx, kann aber nicht über ...