Heim Web-Frontend js-Tutorial Implementieren Sie eine leistungsstarke Datenspeicherung in JavaScript

Implementieren Sie eine leistungsstarke Datenspeicherung in JavaScript

Feb 20, 2017 pm 02:29 PM

1. Es gibt vier grundlegende Datenzugriffsorte in JavaScript: Literale, lokale Variablen, Array-Elemente und Objektmitglieder.

Im Allgemeinen: [Literal, lokale Variable] Laufgeschwindigkeit>[Array, Objektmitglied]

2. Interne Eigenschaften enthalten den Wert einer erstellten Funktion Objekte im Geltungsbereich. Diese Menge wird als Bereichskette bezeichnet.

3. Führen Sie die Funktion aus -> Erstellen Sie ein aktives Objekt (d. h. ein Funktionslaufzeitvariablenobjekt).

Der mehrmalige Aufruf derselben Funktion führt also zur Erstellung mehrerer Ausführungsumgebungen.

4. Funktionsausführungsprozess

Jedes Mal, wenn eine Variable angetroffen wird, durchläuft sie einen Bezeichnerauflösungsprozess, bei dem Daten abgerufen oder gespeichert werden. Dieser Prozess durchsucht die Bereichskette der Ausführungsumgebung. Es ist dieser Suchvorgang, der sich auf die Leistung auswirkt.

5. Leistung der Identifikatoranalyse

Globale Variablen sind immer am Ende des Ausführungsumgebungsbereichs vorhanden. Lokale Variablen werden zuerst aufgelöst.

Faustregel: Wenn in einer Funktion mehr als einmal auf einen bereichsübergreifenden Wert verwiesen wird, speichern Sie ihn in einer lokalen Variablen.

Zum Beispiel:

function initUI(){
 var bd=document.body;
 //后面有多次doucument这个全局对象的调用
}
//->优化后
function initUI(){
 var doc=document;
  bd=doc.body;
 //把doucument这个全局对象的引用存储到局部变量doc中
 
}
Nach dem Login kopieren



6. Ändern Sie die Bereichskette

Im Allgemeinen , ändert sich die Bereichskette einer Ausführungsumgebung nicht.

<1>mit kann die Bereichskette vorübergehend ändern

width wird verwendet, um eine Variable für alle Eigenschaften des Objekts zu erstellen

function initUI(){
 with(document){
 var bd=body; 
 }
}
Nach dem Login kopieren



Wenn der Code mit ausgeführt wird, wird die Bereichskette der Ausführungsumgebung vorübergehend geändert. Es wird ein neues Variablenobjekt erstellt, das alle Eigenschaften des durch den Parameter angegebenen Objekts enthält. Dieses Objekt wird an die erste Position der Bereichskette verschoben, sodass sich zu diesem Zeitpunkt alle lokalen Variablen im zweiten Bereichskettenobjekt befinden, sodass die Zugriffskosten höher sind.

<2>try-catch

Wenn in der try-Anweisung ein Fehler auftritt, springt der Ausführungsprozess automatisch zum Catch. Drücken Sie dann das Ausnahmeobjekt in ein Variablenobjekt und platzieren Sie es oben im Bereich.

Hinweis: Sobald die Catch-Unteranweisung ausgeführt wird, kehrt die Bereichskette in den vorherigen Zustand zurück.

7. Durch Schließungen verursachte Leistungsprobleme

Abschlüsse sind eine der mächtigsten Funktionen von JavaScript.

Da der Abschluss einen Verweis auf dasselbe Objekt enthält, das die Bereichskette der Umgebung ausführt, wird das aktive Objekt der Funktion nicht zerstört, was zu mehr Speicheraufwand führt.

Leistungsprobleme: Wenn häufig auf bereichsübergreifende Bezeichner zugegriffen wird, führt jeder Zugriff zu Leistungseinbußen.

Start:19:41:45 2015-11-21 Zitiert aus von Aaron: /content/3493261.html

8. Speicherverlust

Speicherverlust bedeutet, dass ein Teil des zugewiesenen Speichers nicht verwendet oder recycelt werden kann, bis der Browserprozess beendet ist. Da der Speicher in C++ manuell verwaltet wird, kommt es häufig zu Speicherlecks. Heutzutage verwenden beliebte Sprachen wie C# und Java automatische Garbage-Collection-Methoden zur Speicherverwaltung, und bei normaler Verwendung treten fast keine Speicherverluste auf. Browser verwenden auch die automatische Speicherbereinigung, um den Speicher zu verwalten. Aufgrund von Fehlern in der Speicherbereinigungsmethode des Browsers kann es jedoch zu Speicherlecks kommen.

Mehrere Fälle von Speicherlecks

Zirkelverweise

Javascript-Abschlüsse

DOM-Einfügereihenfolge

Wenn a Wenn ein DOM-Objekt von einem Javascript-Objekt referenziert wird und gleichzeitig auf dasselbe oder ein anderes Javascript-Objekt verweist, kann das DOM-Objekt einen Speicherverlust verursachen. Der Verweis auf dieses DOM-Objekt wird vom Garbage Collector nicht zurückgefordert, wenn das Skript beendet wird. Um einen Referenzzyklus zu unterbrechen, muss dem Objekt, das auf das DOM-Element verweist, oder einem Verweis auf das DOM-Objekt null zugewiesen werden.

Die Einzelheiten werden ausführlich besprochen, hier ist die Zusammenfassung

JS-Speicherlecks, kein Wunder, dass die Elemente aus dem DOM entfernt werden, aber es gibt immer noch Variablen oder Objekte Referenzen Das DOM-Objekt. Dann kann es nicht aus dem Speicher gelöscht werden. Dadurch bleibt die Speichernutzung des Browsers hoch. Diese Speichernutzung wird automatisch freigegeben, wenn der Browser aktualisiert wird.

Eine andere Situation sind Zirkelverweise. Dies führt zu einer ernsteren Situation. Selbst wenn sie aktualisiert werden, wird der Speicher nicht reduziert. Im engeren Sinne handelt es sich hierbei um ein Speicherleck.

Das Obige ist der Inhalt der Implementierung einer Hochleistungsdatenspeicherung in JavaScript. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Warum kann localstorage Daten nicht erfolgreich speichern? Warum kann localstorage Daten nicht erfolgreich speichern? Jan 03, 2024 pm 01:41 PM

Warum schlägt das Speichern von Daten im lokalen Speicher immer fehl? Benötigen Sie spezifische Codebeispiele? In der Front-End-Entwicklung müssen wir häufig Daten auf der Browserseite speichern, um die Benutzererfahrung zu verbessern und den späteren Datenzugriff zu erleichtern. Localstorage ist eine von HTML5 bereitgestellte Technologie zur clientseitigen Datenspeicherung. Sie bietet eine einfache Möglichkeit, Daten zu speichern und die Datenpersistenz aufrechtzuerhalten, nachdem die Seite aktualisiert oder geschlossen wurde. Wenn wir jedoch manchmal localstorage zur Datenspeicherung verwenden

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Welcher Dateityp ist eine DAT-Datei? Welcher Dateityp ist eine DAT-Datei? Feb 19, 2024 am 11:32 AM

Die DAT-Datei ist ein universelles Datendateiformat, das zum Speichern verschiedener Datentypen verwendet werden kann. DAT-Dateien können verschiedene Datenformen wie Text, Bilder, Audio und Video enthalten. Es wird häufig in vielen verschiedenen Anwendungen und Betriebssystemen verwendet. dat-Dateien sind in der Regel Binärdateien, die Daten in Bytes statt in Textform speichern. Das bedeutet, dass DAT-Dateien nicht geändert oder ihr Inhalt direkt mit einem Texteditor angezeigt werden kann. Stattdessen sind spezielle Software oder Tools erforderlich, um die Daten von DAT-Dateien zu verarbeiten und zu analysieren. D

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Die Huawei Data Storage New Year New Product Launch Conference 2024 findet am 20. Februar statt Die Huawei Data Storage New Year New Product Launch Conference 2024 findet am 20. Februar statt Feb 12, 2024 pm 10:48 PM

Laut den Nachrichten dieser Website vom 11. Februar und den offiziellen Nachrichten von Huawei wird die Huawei Data Storage New Year New Product Launch Conference 2024 am 20. Februar stattfinden. Dieser Website ist eine Einführung zur Konferenz beigefügt: Daten sind ein wichtiger Produktionsfaktor im Zeitalter der digitalen Wirtschaft, eine wichtige Quelle der Wertschöpfung und eine nationale strategische Ressource. Die Dateninfrastruktur spielt eine wichtige unterstützende Rolle bei der Bereitstellung, Verbreitung und Nutzung von Datenelementen. Es ist für die zuverlässige Speicherung und effiziente Verwaltung von Datenbeständen und deren bedarfsgerechten Fluss verantwortlich. Als wichtiger Teil der nationalen Datenstrategie ist die Dateninfrastruktur der Grundstein für die Verwirklichung einer Datenmacht. Huawei arbeitet weiterhin an Innovationen im Bereich der IKT-Infrastruktur, entwickelt fortschrittliche Datenspeicherfunktionen und spielt eine grundlegende Rolle dabei, sicherzustellen, dass Datenbestände „sicher gespeichert, leicht verfügbar, mobil und gut genutzt“ werden. Gleichzeitig besteht Huawei auf der Weiterentwicklung

Effektive Möglichkeiten, den Verlust von Localstorage-Daten zu verhindern Effektive Möglichkeiten, den Verlust von Localstorage-Daten zu verhindern Jan 13, 2024 am 10:25 AM

Wie vermeide ich den Verlust von Localstorage-Daten? Mit der Entwicklung von Webanwendungen ist die Datenpersistenz zu einem wichtigen Thema geworden. Localstorage ist eine sehr häufig verwendete Datenpersistenzlösung, die von Browsern bereitgestellt wird. Allerdings können in LocalStorage gespeicherte Daten aus verschiedenen Gründen verloren gehen. In diesem Artikel werden verschiedene Methoden zur Vermeidung von LocalStorage-Datenverlusten vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Regelmäßige Datensicherung ist der Schlüssel zur Vermeidung von Lo

See all articles