Fehlermeldung
ReferenceError: "x" is not defined
Errortypen
Was ist falsch gelaufen?
Es gibt eine Referenzen auf eine Variable, die nicht existiert. Diese Variable muss deklariert werden oder man muss sicherstellen, dass sie im Skript zugänglich ist oder sich im aktuellen scope befindet.
Hinweis: Beim laden einer Bibliothek (wie jQuery), stellen sie sicher das diese auch geladen ist before sie darauf zugreifen, wie die "$" Variable. Schreiben sie das <script>
Element, das die Bibliothek vor dem Code lädt, der die Bibliothek verwendet.
Beispiele
Variable nicht deklariert
foo.substring(1); // ReferenceError: foo is not defined
Die "foo" Variable ist nirgends deklariert. Die Variable muss ein String sein, damit die Methode String.prototype.substring()
funktioniert.
var foo = "bar"; foo.substring(1); // "ar"
Falscher Gültigkeitsbereich
Eine Variable muss im aktuellem Kontext verfügbar sein. Variablen, die innerhalb einer Funktion definiert sind, können nicht von außerhalb erreicht werden, da diese nur im Gültigkeitsbereich der Funktion existieren.
function Zahlen() { var num1 = 2, num2 = 3; return num1 + num2; } console.log(num1); // ReferenceError "num1" is not defined.
Wobei aus einer Methode kann man auf alle Variablen und Methoden zugreifen, die im gleichen Gültigkeitsbereich definiert worden sind. Kurz gesagt, eine Methode, die im globalen Gültigkeitsbereich definiert worden ist, kann auf alle Variablen zugreifen, die im globalen Gültigkeitsbereich definiert wurden.
var num1 = 2, num2 = 3; function numbers () { return num1 + num2; } console.log(num1); // 2