Häufige JavaScript-Probleme lösen
Die folgenden Links verweisen auf Lösungen für häufige Probleme, die bei der Programmierung mit JavaScript auftreten können.
Häufige Anfängerfehler
Korrekte Schreibweise und Groß-/Kleinschreibung
Wenn Ihr Code nicht funktioniert und/oder der Browser meldet, dass etwas undefiniert ist, überprüfen Sie, ob Sie alle Variablennamen, Funktionsnamen usw. korrekt geschrieben haben.
Einige häufig verwendete integrierte Browserfunktionen, die Probleme verursachen, sind:
Richtig | Falsch |
---|---|
getElementsByTagName() |
getElementByTagName() |
getElementsByName() |
getElementByName() |
getElementsByClassName() |
getElementByClassName() |
getElementById() |
getElementsById() |
Position des Semikolons
Stellen Sie sicher, dass Sie keine Semikolons an falschen Stellen setzen. Zum Beispiel:
Richtig | Falsch |
---|---|
elem.style.color = 'red'; |
elem.style.color = 'red;' |
Funktionen
Es gibt mehrere Dinge, die bei Funktionen schiefgehen können.
Ein häufiger Fehler ist es, die Funktion zu deklarieren, sie jedoch nirgendwo aufzurufen. Zum Beispiel:
function myFunction() {
alert("This is my function.");
}
Dieser Code wird nichts tun, es sei denn, Sie rufen ihn mit der folgenden Anweisung auf:
myFunction();
Funktionsbereich
Denken Sie daran, dass Funktionen ihren eigenen Gültigkeitsbereich haben – Sie können von außerhalb der Funktion nicht auf eine innerhalb der Funktion gesetzte Variable zugreifen, es sei denn, Sie haben die Variable global deklariert (d. h. nicht innerhalb einer Funktion) oder den Wert aus der Funktion zurückgegeben.
Ausführen von Code nach einer return-Anweisung
Beachten Sie auch, dass der JavaScript-Interpreter die Funktion verlässt, wenn Sie eine return-Anweisung ausführen – kein Code nach der return-Anweisung wird ausgeführt.
Tatsächlich geben einige Browser (wie Firefox) Ihnen eine Fehlermeldung in der Entwicklerkonsole, wenn Sie Code nach einer return-Anweisung haben. Firefox gibt: "unreachable code after return statement".
Objektnotation versus normale Zuweisung
Wenn Sie in JavaScript normalerweise etwas zuweisen, verwenden Sie ein einzelnes Gleichheitszeichen, z. B.:
const myNumber = 0;
Bei Objekten müssen Sie jedoch darauf achten, die korrekte Syntax zu verwenden. Das Objekt muss von geschweiften Klammern umgeben sein, die Mitgliedsnamen müssen durch Doppelpunkte von ihren Werten getrennt sein und die Mitglieder müssen durch Kommas getrennt sein. Zum Beispiel:
const myObject = {
name: "Chris",
age: 38,
};
Grundlegende Definitionen
Grundlegende Anwendungsfälle
Allgemein
Variablen
Mathematik
- Mit welchen Typen von Zahlen hat man in der Webentwicklung zu tun?
- Wie macht man grundlegende Mathematik in JavaScript?
- Was ist Operator-Präzedenz, und wie wird sie in JavaScript gehandhabt?
- Wie erhöht oder verringert man Werte in JavaScript?
- Wie vergleicht man Werte in JavaScript? (z. B. um zu sehen, welcher größer ist, oder ob ein Wert gleich einem anderen ist).
Strings
- Wie erstellt man einen String in JavaScript?
- Muss man einfache oder doppelte Anführungszeichen verwenden?
- Wie entkommt man Zeichen in Strings?
- Wie verbindet man Strings miteinander?
- Kann man Strings und Zahlen miteinander verbinden?
- Wie ermittelt man die Länge eines Strings?
- Wie findet man heraus, welches Zeichen an einer bestimmten Position in einem String ist?
- Wie findet und extrahiert man eine bestimmte Teilzeichenfolge aus einem String?
- Wie ändert man die Groß-/Kleinschreibung eines Strings?
- Wie ersetzt man eine spezifische Teilzeichenfolge durch eine andere?
Arrays
- Wie erstellt man ein Array?
- Wie greift man auf die Elemente eines Arrays zu und modifiziert diese? (dies umfasst auch mehrdimensionale Arrays)
- Wie ermittelt man die Länge eines Arrays?
- Wie fügt man Elemente zu einem Array hinzu?
- Wie entfernt man Elemente aus einem Array?
- Wie splittet man einen String in Array-Elemente oder verbindet Array-Elemente in einen String?
JavaScript debuggen
- Was sind die grundlegenden Arten von Fehlern?
- Was sind Browser-Entwicklertools und wie greift man darauf zu?
- Wie loggt man einen Wert in die JavaScript-Konsole?
- Wie verwendet man Breakpoints und andere JavaScript-Debugging-Funktionen?
Für weitere Informationen über das Debuggen von JavaScript, siehe Umgang mit häufigen JavaScript-Problemen. Siehe auch Andere häufige Fehler für eine Beschreibung häufiger Fehler.
Entscheidungen im Code treffen
- Wie führt man verschiedene Code-Blöcke aus, abhängig vom Wert einer Variable oder einer anderen Bedingung?
- Wie verwendet man if...else Anweisungen?
- Wie verschachtelt man einen Entscheidungsblock in einem anderen?
- Wie verwendet man UND, ODER, und NICHT Operatoren in JavaScript?
- Wie behandelt man bequem eine große Anzahl von Auswahlmöglichkeiten für eine Bedingung?
- Wie verwendet man einen ternären Operator, um schnell zwischen zwei Optionen zu wählen, basierend auf einem True- oder False-Test?
Schleifen/Iteration
Mittelstufe Anwendungsfälle
Funktionen
- Wie findet man Funktionen im Browser?
- Was ist der Unterschied zwischen einer Funktion und einer Methode?
- Wie erstellt man eigene Funktionen?
- Wie führt man eine Funktion aus (aufrufen oder auslösen)?
- Was ist eine anonyme Funktion?
- Wie gibt man Parameter (oder Argumente) an, wenn man eine Funktion aufruft?
- Was ist der Funktionsbereich?
- Was sind Rückgabewerte, und wie verwendet man sie?
Objekte
- Wie erstellt man ein Objekt?
- Was ist Punktnotation?
- Was ist Klammernotation?
- Wie erhält und setzt man die Methoden und Eigenschaften eines Objekts?
- Was ist
this
im Kontext eines Objekts? - Was ist objektorientierte Programmierung?
- Was sind Konstruktoren und Instanzen, und wie erstellt man sie?
- Welche verschiedenen Möglichkeiten gibt es, Objekte in JavaScript zu erstellen?
JSON
Events
- Was sind Event-Handler und wie benutzt man sie?
- Was sind Inline-Event-Handler?
- Was macht die
addEventListener()
-Funktion und wie benutzt man sie? - Welchen Mechanismus sollte ich verwenden, um Event-Code zu meinen Webseiten hinzuzufügen?
- Was sind Event-Objekte und wie verwendet man sie?
- Wie verhindert man das standardmäßige Verhalten eines Events?
- Wie feuern Events auf verschachtelten Elementen ab? (Event-Propagation, auch zugehörig — Event-Bubbling und -Capturing)
- Was ist Event-Delegation und wie funktioniert sie?