Odniesienie do JavaScript

| | | | | | | | | | | | | | | |

W JavaScript, gdy użytkownik próbuje odwołać się do nieistniejącej zmiennej, zgłaszany jest błąd odwołania. W tym artykule omówimy najczęstsze typy wyzwalaczy błędów testu porównawczego i sposoby ich naprawiania.

Zgodnie z dokumentami internetowymi JavaScript istnieje sześć różnych typów błędów frekwencji , z różnymi odmianami każdego z nich. , który można włączyć w naszym kodzie. Ten artykuł skupia się na pięciu najczęstszych przykładach błędów porównawczych dla nowych programistów.

Niezdefiniowane zmienne

Zapominanie o zdefiniowaniu zmiennej przed odwołaniem może być najczęstszym wyzwalaczem błędu odniesienia dla nowych programistów. Może się to zdarzyć, nawet jeśli wskazana zmienna została skomentowana.

Zakres

Zmienne zdefiniowane w jednym jest niemożliwe aby uzyskać dostęp do funkcji poza nią. Możemy pomyśleć o zakresie praw, które rządzą niektórymi częściami terytorium, powiedzmy w Stanach Zjednoczonych. Prawo dotyczące ksiąg dla miasta San Francisco może być nie do przyjęcia w mieście Miami. Mieszkańcy Miami mieszkający w Miami muszą przestrzegać prawa Miami.

W poniższej funkcji próbujemy uzyskać dostęp do wartości a poza jej zakresem leksykalnym.

Możemy rozwiązać ten problem ustawiając nasze zmienne w zakresie globalnym

Tryb ścisły

Tryb ścisły celowo ma inny zestaw semantyki niż normalny tryb domyślny, tryb „niechlujny” w kodzie JavaScript. Jedną z kluczowych rzeczy, o których należy pamiętać podczas kodowania w trybie ścisłym, jest to, że eliminuje ciche błędy, przekształcając je w błędy uruchamiania. Instrukcja JavaScript użyje trybu ścisłego, jeśli "użyj ścisłego"; jest wywoływana przed deklaracją

W Programista JavaScript, o którym wiemy, że używamy var lub pozostaw - const, aby zdefiniować zmienną, ale powyżej byłby cichym błędem, gdyby nie został wywołany tryb ścisły.

Ponowne deklarowanie

Nie do końca rozumiem, jak można ponownie deklarować zmienne również wyzwalają błędy referencyjne.

Aby poprawić powyższy kod, musimy zmienić „zostaw” na „var” Lub całkowicie pomiń „my” w naszej instrukcji if.