Ten błąd oznacza po prostu, że istnieje taki wiersz w kodzie, który mówi kompilatorowi dostęp do zmiennej lub obiektu, który nie ma adresu pamięci ani lokalizacji. Taki scenariusz ma miejsce, gdy zmienna tutaj nie jest jeszcze inicjowana ani w ogóle zadeklarowana.
Jeśli zmienna nie jest zadeklarowana, nie zajmie lokalizacji pamięci ani adresu. Z tego stwierdzenia łatwo jest stwierdzić, że ta „zmienna odniesienia - nie jest zdefiniowana”, gdy zmienna, do której programista próbuje uzyskać dostęp, nie została wcześniej zadeklarowana przed instrukcją, która spowodowała błąd.
Komunikat o błędzie „ReferenceSerror - zmienna nie jest zdefiniowana”
Komunikat o błędzie komunikatu odniesienia, na pierwszy rzut oka, wydaje się bardzo zniechęcający, ponieważ wygląda tak:
Komunikat o błędzie zawiera około 10 różnych wierszy, a wszystkie te wiersze opowiadają inną historię o tym, dlaczego błąd został spowodowany. Teraz, gdyby programista odwiedził pliki połączone w tych 10 liniach i spróbować wymyślić błąd, znalazłby się w labiryncie.
Rozbijanie komunikatu o błędzie „Odnośnik - zmienna nie jest zdefiniowana”
Spójrz na następujący zrzut ekranu tego samego komunikatu o błędzie, który został użyty w poprzedniej sekcji:
Wyjaśnijmy oznaczenia wykonane na zrzucie ekranu:
Naprawienie „JavaScript ReferenceStror - zmienna nie jest zdefiniowana”
Naprawienie tego błędu jest dość proste, przejdź do wiersza wymienionego w komunikacie o błędzie i użyj nazwy zmiennej, która została zadeklarowana przed tym stwierdzeniem. Aby to zademonstrować, weź następujący kod:
funkcjaaddnums (NUM1, NUM2)Powyższe linie wykonują następujące czynności:
Wykonanie kodu wynika z następującego komunikatu o błędzie:
Mówi "wyniki" Zmiennej nie można odwoływać się i wskazuje na linię nr 6. Teraz porównaj linię 6 i linię 4:
wynik = addnums (5 + 6); // Numer linii 4Oczywiste jest, że błąd jest spowodowany błędem błędu nazwy zmiennej w wierszu 6. Popraw pisownię identyfikatora, który ma wartość zwracaną funkcji do:
wynik = addnums (5 + 6); // Numer linii 4Następnie wykonaj program i obserwuj następujące dane wyjściowe:
Dane wyjściowe pokazuje, że program działa teraz bez żadnych błędów
Wniosek
JavaScript ReferenceStror - Zmienna nie jest zdefiniowana, próbuje uzyskać dostęp do zmiennej za pomocą jej identyfikatora, która nie została zadeklarowana przed tym stwierdzeniem. Może to być spowodowane błędem błędnym lub po prostu pominięciem całego stwierdzenia, w którym programista miał zadeklarować zmienną. Sposobem tej metody jest przejście do numeru wiersza wymienionego w komunikacie o błędzie i naprawienie nazwy zmiennej lub zadeklarowanie zmiennej przed tym instrukcją.