JavaScript Höheres Lehrbuch
Gestaltung
Gestaltung über das style-Attribut
Maßeinheiten im style-Attribut
Fehler mit Maßeinheiten
Auslesen von CSS-Eigenschaftswerten
Styling-Zurücksetzung via style
Massenweise Stilsetzung
Probleme beim Lesen von Stilen
Lesen von Eigenschaften aus CSS-Dateien
Konvertierung gelesener Werte
Gestaltung mit Klassen
Eine Klasse für die Gestaltung
Unbequemlichkeit von Klassen
Styling-Wechsel via data-
Elementmetriken
Elementerweiterung in CSS
Testelement
Clientgröße des Elements
Vollständige Größe des Elements
Scrollgröße des Elements
Element-Scrolling
Änderung des Element-Scrollings
Element bis zum Ende scrollen
Elemententfaltung
Scrollleistenbreite
Fenstermaße
Fenstergröße
Fenstergröße inklusive Scrollbereich
Scrollposition des Fensters abrufen
Scrollposition des Fensters abrufen und ändern
Methode zum Scrollen des Fensters zu einer Position
Methode zum Scrollen des Fensters um einen Wert
Methode zum Scrollen des Fensters zu einem Element
Scroll-Ereignis
Map-Sammlungen
Set-Sammlungen
Einführung
Anfängliche Befüllung
Nützliche Möglichkeiten
Iteration mit Schleife
Konvertierung
Entfernen von Duplikaten aus einem Array
Erhalten ohne Duplikate
Pseudo-Arrays
Einführung
Ähnlichkeit zu Arrays
Unterschiede
Überprüfung auf Array
Umwandlung in ein Array
Arten von Pseudo-Arrays
Unterschied zwischen den Arten
Symbole
Einführung in den Symbol-Typ
Symbolbeschreibungen
Symbole als Objektschlüssel
Iteration über ein Objekt mit Symbolen
Funktion in einem Objekt
Operationen mit Objekten in einer Funktion
Globale Symbole
Abruf des Symbolnamens
Wohlbekannte Symbole
Iteratoren
Iterierbare Objekte
Iterator-Funktion
Iterator-Aufrufe
Generatoren
Schleifen in Generatoren
Einmalige Arbeit von Iteratoren
Objektiterator
Erstellung iterierbarer Objekte
Generator über berechnete Eigenschaft
Eingebauter Iterator values
Eingebauter Iterator keys
Eingebauter Iterator entries
Drei eingebaute Iteratoren
Spread-Operator und Iteratoren
Eingebaute String-Iteratoren
Ziffernarray einer Zahl
Nummerierung von DOM-Elementen
Abruf von DOM-Elementdaten
JSON-Format
Speicher
Einführung
Speicher im Debugger
Daten
Einmaliges Speichern
Überschreiben von Daten
Löschen von Daten
Leeren des Speichers
Anzahl der Einträge
Schlüssel nach Nummer abrufen
Iterieren des Speichers über Indizes
Arrays von Schlüsseln und Werten des Speichers
Speichern von Strukturen
Modifikation gespeicherter Strukturen
Praxis
Reguläre Ausdrücke
Einführung
Wiederholungsoperatoren
Gruppierungsklammern
Maskierung von Sonderzeichen
Geschweifte Klammern
Einschränkung der Gier
Zeichengruppen
Zeichenmengen
Invertierung von Zeichenmengen
Besonderheiten der Kyrillischen Schrift
Sonderzeichen innerhalb von Mengen
Zeichengruppen innerhalb von Mengen
Ausnahmesonderzeichen innerhalb von Mengen
Zirkumflex innerhalb von Mengen
Besonderheiten des Bindestrichs innerhalb von Mengen
Groß-/Kleinschreibung ignorieren
Anfang und Ende der Zeile
Wortgrenze
Mehrzeilenmodus
Oder-Befehl
Variable mit regulärem Ausdruck
Methode test
Methode search
Methode split
Methode match
Gruppen in der match-Methode
Globales match
Globales matchAll
Methode exec
Eigenschaft lastIndex
Gruppen in der replace-Methode
Callback in der replace-Methode
Standardgruppen in der replace-Methode
Gruppen im regulären Ausdruck selbst
Benannte Gruppen
Benannte Gruppen innerhalb des Ausdrucks
Nicht-erfassende Klammern
Positives und negatives Lookaround
Zeichenkette mit regulärem Ausdruck
Flags für Zeichenketten
Backslash in Zeichenketten
Ausnahmesituationen
Einführung
Arten auftretender Situationen
Abfangen von Ausnahmen
Entwicklung mit try-catch
Abgefangene Ausnahmen im verschachtelten Code
Objekt mit Ausnahme
Grundlegende Ausnahmetypen
Anwendung von Ausnahmetypen
Auslösen von Ausnahmen
Auslösen verschiedener Ausnahmetypen
Auslösen eigener Ausnahmetypen
Beispiel einer Ausnahme mit data-Attributen
Beispiel einer Ausnahme mit JSON
Weiterleitung von Ausnahmen
Asynchronität
Synchroner und asynchroner Code
Asynchronität des Ereignismodells
Asynchronität des Bildladens
Ausnahmesituationen im asynchronen Code
Asynchrone Callbacks
Einführung
Asynchrone Übergabe des Ergebnisses an den Callback
Übergabe von Parametern an den asynchronen Callback
Behandlung von Ausnahmen in asynchronen Callbacks
Laden von Bildern
Das Problem der Callback-Hölle
Asynchrones Laden von Bildern in einer Schleife
Promises
Einführung in Promises
Ausnahmesituationen
Fehlerobjekt
Separate Ausnahmebehandlung
Zustände eines Promises
Promise-Ketten
Promises innerhalb einer Kette
Ausnahmen in Promise-Ketten
Arbeiten mit Promise-Arrays
Erstellen erfüllter Promises
Promisification von asynchronem Code
Das Promise-Hell-Problem
Promises im synchronen Stil
Ausnahmen im synchronen Stil
Bibliotheken
Werkzeuge
Semantische Versionierung
Terminal
NodeJS
Einführung in npm
Installation mit npm
Kurzform der Installation
Abhängigkeiten in der package.json Datei
Dev-Abhängigkeiten
Versionsformate für Abhängigkeiten
Einstellungen der package.json Datei
Erstellung der package.json Datei
Übertragung eines npm-Projekts
Die package-lock.json Datei
Aktualisierung von Paketen
Deinstallation von Paketen
Globale Installation mit npm
Globale Deinstallation von Paketen
Das npx Werkzeug
Ausführung von Skripten mit npm
Der Paketmanager Yarn
ES-Module
Einführung in Module
Aktivierung von ES-Modulen
Installation von Webpack
Funktionsprinzip von Webpack
Konfiguration von Webpack
Konfiguration des Build-Starts von Webpack
Test-Build mit Webpack
Einbinden des Bundles in das Markup
Erstellung eines ES-Moduls
Einbinden eines ES-Moduls
Umbenennung beim Import
Import des gesamten Modulinhalts
Standardexport
Kombination von Exporten
Import des gesamten Inhalts bei Kombination von Exporten
Export von Werten
Werte als Konstanten
Import von npm-Modulen
Dynamischer Import
Dynamischer Mehrfachimport
Konvertierung von CommonJS-Modulen
HTTP-Protokoll
Testserver
Formulare
Formularabsendung
Methoden der Formularabsendung
Formularabsendung mit GET-Methode
Formularabsendung mit POST-Methode
GET-Anfragen
Anwendung von GET-Anfragen
Formularschaltflächen
Formularabsendung via JavaScript
Verhinderung der Formularabsendung
Einführung in FormData
Methoden von FormData
Iteratoren von FormData
AJAX
Einführung in AJAX
Grundlagen der Arbeit mit fetch
HTTP-Antwortcode
Erfolg einer Anfrage
Ausnahmesituationen
Vollständige Fehlerbehandlung
HTTP-Antwortheader
JSON erhalten
HTTP-Anfrageheader
GET-Anfragen
POST-Anfragen
Daten über URLSearchParams
Daten über FormData
Senden des gesamten Formulars
JSON senden
CORS-Richtlinie
Übertragung von Cookies
Synchrone Arbeitsweise
Arbeiten mit Canvas
Erste Schritte
Linien zeichnen
Rechtecke zeichnen
Kreise zeichnen
Linienfarbe ändern
Liniendicke ändern
Schleifen
Code-Optimierung
Geschwindigkeitsfaktoren beim Laden einer Website
Verfügbare Ressourcen
Optimierung sich wiederholender Operationen
Optimierung der Wiederholung schwerer Operationen
Optimierung von Schleifenoperationen
Optimierung überflüssiger Schleifendurchläufe
Optimierung durch eingebaute Funktionen
Wahl des optimalen Algorithmus
Optimierung der Verwendung regulärer Ausdrücke
Optimierung der DOM-Arbeit
Optimierung des Speicherverbrauchs
Optimierung der Array-Konvertierung
Optimierung von Ereignisbehandlern
Optimierung der Geschwindigkeit auf Kosten des Speichers
Daten
Immutabilität
Array-Kopie
Objekt-Kopie
Hinzufügen von Elementen zu einem Array
Entfernen von Array-Elementen
Ändern von Array-Elementen
Array von Objekten
Generierung einer zufälligen ID
Hinzufügen eines Elements mit ID
Entfernen eines Elements nach ID
Ändern eines Elements nach ID
Ändern einer einzelnen Eigenschaft nach ID
Abrufen eines Elements nach ID