JavaScript ReferenceStror - Zmienna nie jest zdefiniowana

JavaScript ReferenceStror - Zmienna nie jest zdefiniowana
Praca z językiem programowania często powoduje, że często napotyka błędy, ale wiedza o tym, jak znaleźć błąd i jak naprawić błąd, jest niczym innym jak umiejętnością. Błąd odniesienia JavaScript jest dość powszechnym błędem, z którego napotykają ludzie (zwłaszcza początkujący).

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:

  • 1: To jest instrukcja JavaScript, która spowodowała błąd
  • 2: To jest zmienna, której odniesienie kompilator nie mógł znaleźć
  • 3: Nazwa pliku i numer linii instrukcji, który spowodował błąd
  • 4: Pliki środowiska, które doprowadziły do ​​błędu (zignoruj ​​te wiersze)

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)
returnNum1 + num2;

wynik = addnums (5, 6);
konsola.log (wyniki);

Powyższe linie wykonują następujące czynności:

  • Utwórz funkcję addnums który zwraca sumę dwóch liczb przekazanych w jego argumentach
  • Użyj funkcji, aby obliczyć sumę 5 i 6 i przechowywać wartość zwracaną w wynik zmienny
  • Wydrukuj wynik za pomocą wyniki zmienny

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 4
konsola.log (wyniki); // Numer linii 6

Oczywiste 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 4
konsola.log (wynik); // Numer linii 6

Nastę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ą.