// JavaScript code here Script in Head Hello, World! Ausführungsprozess: Der Browser analysiert das HTML-Dokument von oben nach unten. Wenn Sie auf das -Tag im stoßen, wird das HTML-Rendering angehalten, während das Skript heruntergeladen und ausgeführt wird. Nach der Skriptausführung nimmt der Browser die HTML-Verarbeitung wieder auf. Nachteile: Große oder langsam ladende Skripte können das Rendern der Seite verzögern, was zu einem leeren Bildschirm führt. Der Versuch, DOM-Elemente in diesem Skript zu manipulieren, schlägt möglicherweise fehl, weil die Elemente noch nicht geladen wurden. Ideale Anwendungsfälle: Skripte, die Funktionen enthalten, die nicht sofort benötigt werden, wie z. B. Analyse- oder Konfigurationscode. 2. Tag am Ende von Script at Bottom Hello, World! // JavaScript code here Ausführungsprozess: Der Browser lädt und rendert den gesamten HTML-Inhalt. Das -Tag am Ende von wird nach dem Rendern der Seite verarbeitet und ausgeführt. Vorteile: Stellt das vollständige Laden von HTML vor der Skriptausführung sicher. Verhindert Rendering-Verzögerungen und verbessert die Benutzererfahrung. DOM-Elemente stehen zur Manipulation bereit. Nachteile: Leicht erhöhte Seitenladezeit, da die JavaScript-Ausführung nach dem vollständigen HTML-Rendering erfolgt. Ideale Anwendungsfälle: Skripte, die mit Seiteninhalten interagieren (z. B. Ereignis-Listener, Elementänderungen). 3. Tag mit asyncAttribut Script with Async Hello, World! Ausführungsprozess: Der Browser lädt HTML nacheinander. Bei der Begegnung mit dem async-Skript lädt es das Skript gleichzeitig herunter, während der HTML-Ladevorgang fortgesetzt wird. Nach dem Herunterladen wird das Skript sofort ausgeführt, das Rendern wird kurz angehalten und dann mit dem Laden des HTML-Codes fortgefahren. Vorteile: Nicht blockierend: Das Laden des Skripts erfolgt im Hintergrund, ohne das Rendern der Seite zu verzögern. Schnelleres Laden der Seite durch paralleles Herunterladen. Nachteile: Skripte werden möglicherweise in einer unvorhersehbaren Reihenfolge ausgeführt, wenn mehrere async Skripte vorhanden sind. Skripte, die auf der HTML-Struktur basieren, werden möglicherweise vorzeitig ausgeführt und verursachen Fehler. Ideale Anwendungsfälle: Unabhängige Skripte wie Analysen, Anzeigen oder Social-Media-Widgets, die nicht von anderen Skripten oder HTML-Elementen abhängig sind. 4. Tag mit deferAttribut // JavaScript code here Script in Head Hello, World! Ausführungsprozess: Der Browser lädt HTML nacheinander. Das defer-Skript wird gleichzeitig mit dem HTML heruntergeladen, aber erst ausgeführt, nachdem der gesamte HTML-Code analysiert wurde. Die Ausführung erfolgt unmittelbar vor dem DOMContentLoadedEreignis. Vorteile: Stellt die Skriptausführung nach dem vollständigen Laden der Seite sicher. Behält die Reihenfolge der Skriptausführung bei, wenn mehrere defer Skripte verwendet werden. Geeignet für Skripte, die von einem vollständig verfügbaren DOM abhängig sind. Ideale Anwendungsfälle: Skripte, die das DOM manipulieren, nachdem es vollständig geladen ist. Vergleichstabelle Methode Ausführungszeit Blockiert das Rendern Bester Anwendungsfall Method Execution Time Blocks Rendering Best Use Case in Before HTML load Yes Configuration, early execution logic at end of After HTML load No DOM manipulation, event handling When script is downloaded No (except during execution) Analytics, ads, independent scripts After HTML parse No DOM-dependent scripts in Vor dem Laden von HTML Ja Konfiguration, frühe Ausführungslogik am Ende von Nach dem HTML-Laden Nein DOM-Manipulation, Ereignisbehandlung Wenn das Skript heruntergeladen wird Nein (außer während der Ausführung) Analysen, Anzeigen, unabhängige Skripte Nach der HTML-Analyse Nein DOM-abhängige Skripte Fazit: Best Practices Verwenden Sie am Ende von für Skripte, die mit Seiteninhalten interagieren und ein vollständig geladenes DOM erfordern. Verwenden Sie für unabhängige Skripte wie Analysen und Anzeigen. Platzieren Sie Skripte unten im async, wenn keine Attribute für ein reibungsloses Laden der Seite verwendet werden.defer Vermeiden Sie es, Skripte in ohne oder zu platzieren, es sei denn, dies ist unbedingt erforderlich, um eine Rendering-Blockade zu verhindern. Die Beherrschung der Tag-Nutzung ist für die Optimierung von Webanwendungen von entscheidender Bedeutung. Die Wahl zwischen Inline-, internen, externen, asynchronen oder verzögerten Skripten ermöglicht Leistungssteigerungen, verbesserte Wartbarkeit des Codes und ein besseres Benutzererlebnis.