ReferenceError: "x" ist nicht definiert
Die JavaScript-Ausnahme "variable ist nicht definiert" tritt auf, wenn irgendwo auf eine nicht existierende Variable verwiesen wird.
Nachricht
ReferenceError: "x" is not defined (V8-based & Firefox) ReferenceError: Can't find variable: x (Safari)
Fehlertyp
Was ist schiefgelaufen?
Es wird auf eine nicht existierende Variable verwiesen. Diese Variable muss deklariert werden, oder Sie müssen sicherstellen, dass sie in Ihrem aktuellen Skript oder Scope verfügbar ist.
Hinweis: Beim Laden einer Bibliothek (wie jQuery) stellen Sie sicher, dass sie
geladen ist, bevor Sie auf Bibliotheksvariablen wie "$" zugreifen. Platzieren Sie das
<script>
-Element, das die Bibliothek lädt, vor Ihrem Code, der sie verwendet.
Beispiele
Variable nicht deklariert
foo.substring(1); // ReferenceError: foo is not defined
Die "foo"-Variable ist nirgendwo definiert. Sie muss ein String sein, damit die
String.prototype.substring()
-Methode funktioniert.
const foo = "bar";
foo.substring(1); // "ar"
Falscher Scope
Eine Variable muss im aktuellen Ausführungskontext verfügbar sein. Variablen, die innerhalb einer Funktion definiert sind, können von außerhalb der Funktion nicht zugegriffen werden, da die Variable nur im Scope der Funktion definiert ist.
function numbers() {
const num1 = 2;
const num2 = 3;
return num1 + num2;
}
console.log(num1); // ReferenceError num1 is not defined.
Eine Funktion kann jedoch auf alle Variablen und Funktionen zugreifen, die in dem Scope definiert sind, in dem sie definiert ist. Mit anderen Worten, eine Funktion, die im globalen Scope definiert ist, kann auf alle Variablen zugreifen, die im globalen Scope definiert sind.
const num1 = 2;
const num2 = 3;
function numbers() {
return num1 + num2;
}
console.log(numbers()); // 5