ReferenceError: "x" is not defined
Wiadomość
ReferenceError: "x" is not defined
Typ błędu
Co poszło nie tak?
Istnieje gdzieś niezadeklarowana zmienna. Zmienna ta powinna być zadeklarowana, a jeśli jest upewnij się czy jest dostępna w twoim skrypcie albo scope (en-US).
Notatka: Gdy ładujesz bibliotekę (na przykład jQuery), upewnij się, że jest załadowana przed dostępem do zmiennych biblioteki, np "$". Dodaj znacznik <script>
(en-US) ładujący bibliotekę przed twoim kodem, który jej używa.
Przykład
Zmienna niezadeklarowana
foo.substring(1); // ReferenceError: foo is not defined
Zmianna "foo" jest niezdefiniowana. Powinna być jakąś wartością string wiec("String.prototype.substring()")}} metoda ta będzie działać.
var foo = 'bar';
foo.substring(1); // "ar"
Zły zasięg
Zmienna musi być dostępna w bieżącym kontekście realizacji. Zmienne zdefiniowane wewnątrz funcji nie mogą być dostępne z dowolnego miejsca poza funkcją, powodem jest to że zmienna jest zdefiniowana tylko zmienną lokalną funkcji.
function numbers() {
var num1 = 2,
num2 = 3;
return num1 + num2;
}
console.log(num1); // ReferenceError num1 is not defined.
Jakkolwiek funkcja może mieć dostęp do wszystkich zmiennych dzięki deklaracji zmiennych globalnie. Zmienne globalne są dostępne dla wszystkich funkcji.
var num1 = 2,
num2 = 3;
function numbers() {
return num1 + num2;
}
console.log(num1); // 2