JavaScript-Hauptlehrbuch
Grundlagen
Einführung
JavaScript starten
Erstes JavaScript-Programm
Programmcode-Analyse
Weitere Beispiele
Skriptdateien
Mehrere Dateien
Hinweis
Dateicaching
Strikter Modus
Kommentare
Variablen
Verwendung von Variablen
Deklaration mehrerer Variablen
Änderungen von Variablenwerten
Mehrere let für eine Variable
Mathematische Operationen mit Zahlen
Mathematische Operationen mit Variablen
Priorität mathematischer Operationen
Gleiche Priorität
Gruppierende Klammern
Brüche
Negative Zahlen
Plus vor Variablen
Rest der Division
Potenzieren
Priorität der Potenzierung
Zeichenketten
Zeichenketten verknüpfen
Zeichenkettenlänge
Template-Literale
Mehrzeiligkeit
Spezielle Werte
Wert undefined
Wert null
Werte true und false
Wert NaN
Infinity und -Infinity
Konsole
Datentyp in der Konsole
Fehler in der Konsole
Konstanten
Automatische Typumwandlung
Umwandlung in eine Zahl
Kurze Umwandlung in eine Zahl
Umwandlung ungültiger Zahlen
Zahlen extrahieren
Umwandlung in eine Zeichenkette
Anwendung der Zeichenkettenumwandlung
Umwandlung des logischen Typs
Umwandlung in den logischen Typ
Zeichen einer Zeichenkette
Unveränderlichkeit von Zeichenketten
Letztes Zeichen einer Zeichenkette
Zeichenketten mit Ziffern
Zugriff auf Ziffern einer Zahl
Operationen zum Ändern einer Variable
Kurzschreibweise für Operationen in JavaScript
Inkrementierung
Präfix- und Postfix-Typ
Ungenauige Berechnungen
Funktion prompt
Problem mit Typen in prompt
Ausgabe in das Dokument
Praxis: Fehlersuche
Praxis: Operationen
Praxis: Formeln
Arrays
Einführung in Arrays
Abrufen von Elementen
Array-Länge
Ändern von Elementen
Überschreiben von Array-Elementen
Inkrementieren von Elementen
Hinzufügen von Elementen über Schlüssel
Dünn besetzte Arrays
Hinzufügen von Elementen mit push
Schlüssel aus Variablen
Operator delete
Praxis: Fehlersuche
Objekte
Einführung in Objekte
Anzeige des gesamten Objekts
String-Schlüssel von Objekten
Objekteigenschaften
Einschränkungen für Objektschlüssel
Ändern von Elementen
Hinzufügen von Elementen
Ungeordnetheit von Objekten
Array von Objektschlüsseln
Länge eines Objekts
Schlüssel aus Variablen
Fehler beim Zugriff auf ein Element
Fehler beim Zugriff auf eine Eigenschaft
Berechnete Eigenschaften
Operator in
Operator delete
Typisierung von Objekten
Arrays als Objekte
Arrays von Objekten unterscheiden
Objekte und Primitive
Übergabe von Objekten per Referenz
Konstanten
Programmieransatz über Konstanten
Praxis zur Fehlersuche
Bedingungen
if-else-Konstrukt
Operatoren "größer als" und "kleiner als"
Gleichheitsprüfung
Ungleichheitsprüfung
Variablenvergleich
Gleichheit von Strings
Gleichheit von Strings und Zahlen
Gleichheit von Wert und Typ
Ungleichheit von Wert und Typ
Logisches UND
Logisches ODER
Priorität logischer Operatoren
Gruppierung von Bedingungen
Invertierung logischer Ausdrücke
Bedingungen mit booleschen Werten
Vergleich von Werten mit booleschem Typ
Kurzform der Wahrheitsprüfung
Kurzform der Falschheitsprüfung
Allgemeine Kurzform der Prüfung
Komplexe Bedingungen in Kurzform
Optionalität der else-Konstruktion
Optionalität der geschweiften Klammern
Problem der optionalen Klammern
else-if-Konstruktion
Verschachtelte if-else-Konstrukte
switch-case-Konstruktion
Optionalität von break
Ternärer Operator
Logische Operationen
confirm-Funktion
Gültigkeitsbereich
Nuancen des Gültigkeitsbereichs
Prüfung von Stundenanteilen
Prüfung der Länge von Strings und Arrays
Prüfung der Zeichen eines Strings
Prüfung der Ziffern einer Zahl
Prüfung des Divisionsrests
Praxis zur Fehlersuche
Praxis
Schleifen
Einführung
For-of-Schleife
For-in-Schleife
While-Schleife
For-Schleife
For-Schleife für Arrays
Bedingungen in Schleifen
Akkuumulierung von Zahlen
Akkuumulierung von Elementen
Bildung von Zeichenketten
Ziffern einer Zahl
Optionalität der geschweiften Klammern
Problem der optionalen Klammern
Break-Anweisung
Continue-Anweisung
Verschachtelte Schleifen
Gültigkeitsbereich
Verschachtelte Schleifen und Gültigkeitsbereich
Arrays füllen
Arrays ändern
Objekte füllen
Objekte ändern
Arbeiten mit Flags
Tipps zum Schreiben von Code
Tipps zum Debuggen von Code
Praxis zur Fehlersuche
Praxis
Mehrdimensionalität
Mehrdimensionale Arrays
Dreidimensionales Array
Beliebige Arrays
Iteration über mehrdimensionale Arrays
Iteration mit einer normalen for-Schleife
Befüllen mehrdimensionaler Arrays
Probleme beim Befüllen mehrdimensionaler Arrays
Befüllen mehrdimensionaler Arrays der Reihe nach
Mehrdimensionale Objekte
Iteration über mehrdimensionale Objekte
Mehrdimensionale Strukturen
Iteration über mehrdimensionale Strukturen
Array von Objekten
Schlüssel aus Variablen
Hinzufügen von Elementen zu Arrays
Hinzufügen von Elementen zu Objekten
Standardmethoden
Potenzieren
Rundungsfunktionen
Extremwerte
Zufallszahlen
Beträge
Groß-/Kleinschreibung
Ausschneiden von Zeichenketten
Suchen in Zeichenketten
Ersetzen in Zeichenketten
Teilen von Zeichenketten
Endelemente
Teile von Arrays
Ausschneiden von Arrays
Suchen in Arrays
Objektschlüssel
Praxis: Fehlersuche
Benutzerdefinierte Funktionen
Einführung
Funktionsparameter
Mehrere Parameter
Parameter als Variablen
Optionale Parameter
Anweisung return
Sequentieller Funktionsaufruf
Eine Feinheit von return
Schleife und return
Anwendung von return in Schleifen
Arbeitstechnik mit return
Flags in Funktionen
Logische Operatoren in Funktionen
Ratschläge zu Funktionen
Praxis: Fehlersuche
Praxis zu Funktionen
Funktionsvariablen
Globale Variablen
Lokale Variablen
Übereinstimmung von Variablennamen
Ändern globaler Variablen
Globale Variablen und Funktionsparameter
Übereinstimmung von Namen mit Parametern
Objektparameter
Funktionstypen
Quellcode einer Funktion und Ergebnis
Funktion als Variable
Schreiben einer Funktion in eine andere Variable
Zuweisen von Funktionen zu Variablen
Übereinstimmung von Funktionsname und Variable
Deklarationstypen
Unterschiede der Funktionsdeklaration
Semikolon bei Funktionsdeklarationen
Nuancen von Funktionsausdrücken
Funktion mit Namen, aber Function Expression
Benannte Funktionsausdrücke
Wie man den Typ einer Funktion überprüft
Ausdruck links
Ausdruck rechts
Array mit Funktionen
Objekt mit Funktionen
Anwenden eines Objekts mit Funktionen
Verschachtelte Funktionen
Übergeben von Funktionen als Parameter
Benannte Funktionen
Parameter übergebener Funktionen
Übergeben einer Zahl als Parameter
Anwendung
Innere Funktionen
Sichtbarkeitsbereich verschachtelter Funktionen
Parameter der äußeren Funktion
Parameter äußerer und innerer Funktionen
Gleichnamige Parameter
Funktion, die eine Funktion zurückgibt
Beliebiger Verschachtelungsgrad
Parameter der zurückgegebenen Funktion
Callback-Funktionen
Nuancen von Callbacks
Pfeilfunktionen
Anwendung von Pfeilfunktionen
синх. с переводом
Closures
Zugriff auf äußere Variablen
Lexikalische Umgebung von Funktionen
Anwendung der lexikalischen Umgebung
Einführung in Closures
Zähler mit Closures
Nuance lokale Variable
Nuance globale Variable
IIFE
Sofortiger Funktionsaufruf
Zuweisung der Funktion an eine Variable
Anwendung des sofortigen Funktionsaufrufs
Runde Klammern
Parameter
Mehrfache Aufrufe
Fallstricke
Schützendes Semikolon
Closures und IIFE
Rekursion
Einführung
Beispiel mit Parameter
Summe der Array-Elemente bei Rekursion
Mehrdimensionale Strukturen
Summe der Array-Elemente
Manipulation von Strukturen
Iterierende Methoden
Methode map
Methode forEach
Methode filter
Methode every
Methode some
Methode find
Übersetzung, Aufgaben
Methode reduce
Übersetzung, Aufgaben
Spread-Operator
Einführung
Komplexere Beispiele
Extreme Array-Werte
Zusammenführen von Arrays
Aufteilen von Zeichenketten
Aufteilen von Zahlen
Spread-Operator und Mehrdimensionalität
todo
Rest-Operator
Destrukturierung
Destrukturierung von Arrays
Array aus einer Funktion
Überspringen von Array-Elementen
Überzählige Array-Werte
Rest eines Arrays
Standardwerte für Arrays
Standardfunktionen für Arrays
Variablendeklaration für Arrays
Destrukturierung von Objekten
Variablennamen für Objekte
Standardwerte für Objekte
Variablen und Standardwerte für Objekte
Variablendeklaration für Objekte
Funktionsparameter
Destrukturierung von Funktionsparameter-Objekten
Austausch von Werten
text
Mehrdimensionalität
todo
Zeit
Arbeit mit dem Date-Objekt
Formatierung
Ändern des Datumsformats
Erhalten des Wochentags
Ausgabe des Datums als Wort
Zeiteinstellung
Timestamp-Format
Differenz zwischen Timestamps
Differenz von Datumsobjekten
Automatische Datumskorrektur
Finden des letzten Tages des Monats
Bestimmung des Schaltjahres
Korrekturheitsprüfung
Erhalten des Tages des aktuellen Jahres
Tag des nächsten oder vorherigen Monats
Tag des nächsten oder vorherigen Jahres
Differenz von Zeitpunkten
Zeitpunkt des Tages
Tagesanfang
Tagesende
Zyklische Überprüfung von Zeitpunkten
Praxis zum Erhalten von Zeitpunkten
String-Vergleich
Datum-Vergleich ohne Jahr
Treffen eines Datums in ein Intervall
Vergleich von Datumsobjekten
Einführung in das DOM
Einführung
DOM-Elemente
Abrufen von DOM-Elementen
Komplexe DOM-Element-Selektoren
Binding von Event-Handlern
Benannte Event-Handler
Ein Handler für mehrere Elemente
Mehrere Handler für ein Event
Handler für verschiedene Events
Elementtext
HTML-Code des Elements
Tag-Attribute als Properties
Arbeit mit Textfeldern
Fokus von Textfeldern
Ausnahmeattribute
Methoden- und Property-Ketten
Vor- und Nachteile von Ketten
Das this-Objekt
Vorteil von this
Abrufen einer Elementgruppe
Benannte Handler in Schleifen
Anonyme Handler in Schleifen
Entfernen von Event-Handlern
Entfernen von Handlern in Schleifen
Entfernen anonymer Handler
Tipps zur Code-Erstellung
Praxis: Fehlersuche
Praktikum
Attribute
Methode zum Abrufen von Attributen
Methode zum Setzen von Attributen
Methode zum Entfernen von Attributen
Methode zum Überprüfen von Attributen
Benutzerdefinierte Attribute
Attributnamen mit Bindestrichen
Zugriff auf Attribute über Methoden
Array von CSS-Klassen
Hinzufügen von CSS-Klassen
Entfernen von CSS-Klassen
Überprüfung von CSS-Klassen
Umschalten von CSS-Klassen
Gestaltung
Gestaltung über das style-Attribut
Gestaltung von Eigenschaften mit Bindestrich
Ausnahme bei der Gestaltung von Elementen
Gestaltung über CSS-Klassen
Vorteile der Gestaltung mit CSS-Klassen
Anwendung der Gestaltung
Suchen
Finden von Elementnachfahren
Finden von Elementeltern
Alle Elternelemente finden
Nachbarelemente finden
Element nach ID finden
Element nach Tag-Namen finden
Element nach Klassenname finden
Suchen innerhalb eines Elements
Knoten
Formulare
Arbeit mit Textarea
Deaktivieren von Elementen
Arbeit mit Checkboxen
Wechsel von Attributen ohne Werte
Arbeit mit Radio-Buttons
Change-Event
Input-Event
Focus- und Blur-Methoden
Praxis zur Fehlersuche
Dropdown-Listenen
Arbeit mit Dropdown-Listen
Das value-Attribut in Dropdown-Listen
Ändern des ausgewählten Listeneintrags
Die Nummer des ausgewählten Listeneintrags
Abrufen der Einträge einer Dropdown-Liste
Einträge als Array
Arbeit mit Dropdown-Listeneinträgen
Auswählen eines Listeneintrags
Abrufen des ausgewählten Eintrags
Das Event-Objekt
Grundlagen der Arbeit mit dem Event-Objekt
Ereigniskoordinaten
Ereignistyp
Ereigniselement
Abrufen gedrückter Tasten
Verfolgung von Modifizierertasten
Abbrechen der Standardaktion
Event Bubbling
Zielelement beim Bubbling
Stoppen des Event Bubbling
Mehrere Handler auf einem Element
Sofortiges Stoppen des Bubbling
Anwendung des Stoppens von Event Bubbling
Event Capturing
Handler für neue Elemente
Event Delegation
Universelle Event Delegation
Kontext
Grundlagen der Kontextarbeit
Kontext einer ungebundenen Funktion
Kontextverlust
Lösung des Kontextproblems
Lösung über eine Variable
Lösung über einen Parameter
Lösung über eine Pfeilfunktion
Methode call
Methode call mit Parametern
Methode apply
Methode bind
Timer
Timer starten
Zähler mit Timer
Timer anhalten
Startknöpfe
Mehrfachstart
Stoppknöpfe
Arbeit mit DOM
Timer und Kontextverlust
Praxis zu Timern und DOM
Verzögerung vor der Ausführung
Timer mit Verzögerung
Manipulation von Elementen
Erstellen und Einfügen von Elementen
Event-Handler beim Einfügen hinzufügen
Erstellen von Elementen in einer Schleife
Hinzufügen von Event-Handlern in einer Schleife
Entfernen von Elementen
Einfügen am Rand
Einfügen davor
Angrenzendes Einfügen
Angrenzendes Einfügen von Tags
Klonen von Elementen
Prüfen von Elementen
Praxis
Erstellen von Elementen aus einem Array
Übung zum Erstellen von ul-Listen
Erstellen von Tabellen
Konsistentes Füllen von Tabellen
Erstellen einer Tabelle aus einem Array
Erstellen einer Tabelle aus einem Array von Objekten
Hinzufügen von Zeilen und Spalten zu einer Tabelle
Ändern von Tabellenzellen
Entfernen neuer Elemente
Link zum Entfernen eines Elements
Erstellen von Links zum Entfernen
Bearbeiten eines einzelnen Elements
Text beim Bearbeiten ausblenden
Bearbeiten in einer Gruppe von Elementen
Entfernen und Bearbeiten
Styling von Elementen
Schaltflächen zum Ausblenden und Anzeigen eines Elements
Viele Elemente mit Anzeigeschaltflächen
Aktivierung von Elementen
Abwechselnde Aktivierungsstile
Übung zum Ändern von Elementen
Funktionen und DOM
Funktionen für die Arbeit mit DOM-Elementen
Funktionen für die Arbeit mit Elementgruppen
Übergeben eines Callbacks für die Arbeit mit dem DOM
Übergeben einer fortlaufenden Nummer an den Callback
Übergeben eines Elements als Funktionsparameter
Übergeben einer Elementgruppe als Parameter
Funktion zum Erstellen von HTML-Tabellen
Rückgabe einer Tabelle aus einer Funktion
Funktion zum Erstellen einer Tabelle aus einem Array