Heim Web-Frontend js-Tutorial Warum Virtual DOM: Render und Leistung

Warum Virtual DOM: Render und Leistung

Nov 03, 2024 pm 02:11 PM

In diesem Artikel werden wir den Dom im Detail untersuchen und erläutern, was der virtuelle Dom ist.

Was ist das DOM (Document Object Model)?

Wenn eine Webseite in den Browser geladen wird, generiert der Browser HTML, um die angeforderte Seite anzuzeigen. Diese HTML-Struktur ist wie ein Baum. DOM entsteht durch die Konvertierung des Inhalts eines Webdokuments (HTML oder XML) in eine objektorientierte Struktur durch den Browser. Dank dieser Struktur ist der Seiteninhalt in einer Baumstruktur im Browser organisiert, und jedes HTML-Tag oder Inhalt wird als „Knoten“ dargestellt.


Erkunden Sie nun das Dokumentobjektmodell :

Lassen Sie uns einen Beispielcode schreiben, um auf das Dokumentobjekt zuzugreifen.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document object model</title>
</head>
<body>
    <div class="card" style="width: 18rem;">
        <img class="card-img-top"  alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Lorem, ipsum dolor.</h5>
          <p class="card-text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, tenetur!</p>
          <a href="#" class="btn btn-primary">Lorem, ipsum.</a>
        </div>
      </div>


    <script src="/script.js"></script>
</body>
</html>
Nach dem Login kopieren
console.log(document)
Nach dem Login kopieren

Ausgabe:

Why Virtual DOM: Render and Performance


Wir können mit console.log(document) auf den Dom zugreifen. Wenn wir das Document-Objekt untersuchen, verstehen wir, dass dieses Objekt ein HTML-Dokument darstellt. Mit anderen Worten: Das Dokumentobjekt enthält alle Tags in einem HTML-Dokument.

Mit Javascript können wir auf die Tags im Dokumentobjekt zugreifen und die Tags in diesem Dokumentobjekt bearbeiten, um dynamische Webseiten zu erstellen. Lassen Sie uns ein Beispiel für den Zugriff geben:

const wrapper = document.getElementById("card")

console.log(wrapper)
Nach dem Login kopieren

Ausgabe:

Why Virtual DOM: Render and Performance


Was ist das virtuelle DOM?

Why Virtual DOM: Render and Performance

Wir wissen jetzt, dass der einfachste Weg, den Dom zu ändern („Change HTML“) darin besteht, die innerHTML-Eigenschaft in einem Element zu ändern. Diese Methode der HTML-Änderung hat keine gute Leistung beim Neuzeichnen von DOM („Aktualisierung dessen, was der Benutzer sieht“). Dies liegt an innerHTML muss DOM-Knoten aus einer Zeichenfolge analysieren, vorverarbeiten und anhängen. Wenn auf einer Webseite zu viele HTML-Mutationen vorhanden sind, liegt ein Leistungsproblem vor.

Wie wurde das Leistungsproblem behoben?

Dieses Problem wurde durch die Erstellung eines virtuellen DOM behoben. Das virtuelle DOM ist eine Kopie des im Speicher gespeicherten echten DOM. Wenn der Benutzer mit der Webseite interagiert und der Status der Webseite aktualisiert wird, wird ein neues virtuelles DOM im Speicher erstellt. Dieses neue virtuelle DOM wird mit dem vorherigen virtuellen DOM verglichen, um Änderungen zu identifizieren, und diese Änderungen werden auf das echte DOM angewendet, um dem Benutzer angezeigt zu werden.

Dies ist die Arbeitslogik der modernen Bibliotheken, die Sie verwenden, und verwendet zum Vergleich den dif-Algorithmus. Sie alle verwenden virtuelles DOM. Obwohl der virtuelle DOM-Ansatz schnell ist, gibt es Punkte, die für die Leistung berücksichtigt werden müssen. Eine Änderung in der virtuellen Domäne rendert die gesamte Webseite. Bibliotheken verfügen über Hooks für Leistungsoptimierungen

Abschluss

In diesem Artikel haben wir untersucht, was Dom und virtuelles DOM sind. Wir haben herausgefunden, warum Virtual Dom verwendet wird. Jetzt wissen Sie, was Dom und virtueller Dom sind.

Das obige ist der detaillierte Inhalt vonWarum Virtual DOM: Render und Leistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 Artikel -Tags

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)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

JQuery Get Element Polsterung/Rand JQuery Get Element Polsterung/Rand Mar 01, 2025 am 08:53 AM

JQuery Get Element Polsterung/Rand

JQuery überprüfen, ob das Datum gültig ist JQuery überprüfen, ob das Datum gültig ist Mar 01, 2025 am 08:51 AM

JQuery überprüfen, ob das Datum gültig ist

10 JQuery Accords Registerkarten 10 JQuery Accords Registerkarten Mar 01, 2025 am 01:34 AM

10 JQuery Accords Registerkarten

10 lohnt 10 lohnt Mar 01, 2025 am 01:29 AM

10 lohnt

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

HTTP-Debugging mit Knoten und HTTP-Konsole HTTP-Debugging mit Knoten und HTTP-Konsole Mar 01, 2025 am 01:37 AM

HTTP-Debugging mit Knoten und HTTP-Konsole

JQuery fügen Sie Scrollbar zu Div hinzu JQuery fügen Sie Scrollbar zu Div hinzu Mar 01, 2025 am 01:30 AM

JQuery fügen Sie Scrollbar zu Div hinzu

See all articles