--- title: 'ReferenceError: "x" is not defined' slug: Web/JavaScript/Reference/Errors/Not_defined tags: - Error - JavaScript - ReferenceError translation_of: Web/JavaScript/Reference/Errors/Not_defined original_slug: Web/JavaScript/Reference/Fehler/Not_defined ---
ReferenceError: "x" is not defined
{{jsxref("ReferenceError")}}.
Es gibt eine Referenz 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 {{Glossary("scope")}} befindet.
Hinweis: Wenn Sie eine Bibliothek nutzen (wie z.B. jQuery), stellen Sie sicher, dass diese tatsächlich geladen ist, bevor Sie auf dessen Variablen (z. B. "$") zugreifen. Schreiben Sie das {{HTMLElement("script")}} Element, welches die Bibliothek lädt vor den Code, der die Bibliothek verwendet.
foo.substring(1); // ReferenceError: foo is not defined
Die "foo" Variable ist nirgends deklariert. Die Variable muss ein String sein, damit die Methode {{jsxref("String.prototype.substring()")}} funktioniert.
var foo = "bar"; foo.substring(1); // "ar"
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 numbers() { 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(numbers()); // 5