Funkcja JavaScript nie zdefiniowana błąd

Funkcja JavaScript nie zdefiniowana błąd
W JavaScript „funkcja nie została zdefiniowana”Jest powszechnym błędem, który występuje, gdy program próbuje użyć funkcji, która nie została zadeklarowana ani zdefiniowana w bieżącym zakresie. Ten komunikat o błędzie może być mylący, ponieważ czasami funkcja jest faktycznie zdefiniowana w kodzie, ale nadal powoduje błąd.

W tym artykule opisano „funkcję nie zdefiniowaną funkcję”, gdy jest zdefiniowany.

Funkcja JavaScript nie zdefiniowana błąd (ale jest zdefiniowana)

Czasami funkcja jest zdefiniowana w kodzie, ale nadal możesz stawić czoła następującemu błędowi:

Istnieją dwa główne powody, dla których powyższy błąd występuje po zdefiniowaniu funkcji, które są wymienione poniżej:

  • Funkcja jest błędnie napisana lub ma niepoprawną kapitalizację.
  • Funkcja jest zdefiniowana w innym zakresie.

Powód 1: Funkcja jest błędnie napisana lub ma niepoprawną kapitalizację

Czasami funkcja jest wywoływana z nieprawidłowymi pisowniami. Ponieważ JavaScript jest językiem wrażliwym na przypadek, tłumacz JavaScript nie mógł tego znaleźć i rzucić „funkcja nie została zdefiniowana" błąd.

Przykład

Najpierw zdefiniujemy funkcję „Summ„To zwraca sumę dwóch liczb”A" I "B”:

funkcja Summ (a, b)
zwrócić A + B;

Wywołaj funkcję „Summ" Jak "suma”Przekazując liczby„4" I "7”:

konsola.Log (suma (4, 7))

To rzuci błąd ”suma nie jest zdefiniowana”:

Jak to naprawić?

Aby naprawić ten błąd, upewnij się, że nazwa funkcji jest prawidłowo napisana i ma prawidłową kapitalizację:

konsola.Log (Summ (4, 7));

Teraz funkcja „Summ”Z powodzeniem nazywano i wydrukuj sumę dwóch liczb”4" I "7”:

Powód 2: Funkcja jest zdefiniowana w innym zakresie

W JavaScript każda funkcja ma swój zakres, a funkcja może uzyskać dostęp tylko do zmiennych i funkcji, które są zdefiniowane w ramach własnego zakresu. Jeśli funkcja jest zdefiniowana w innym zakresie, może nie być dostępna dla bieżącego zakresu, co powoduje „funkcja nie została zdefiniowana" błąd.

Przykład

Zdefiniuj funkcję „suma()”Z dwoma parametrami„A" I "B„Wewnątrz funkcji„wydrukować()”:

funkcja print ()
funkcja sum (a, b)
konsola.log (a + b);

Wywołaj funkcję „suma()”:

suma (5, 10);

Daje błąd, ponieważ sum () jest zdefiniowany wewnątrz funkcji print (), ale dostępny na zewnątrz z zakresu:

Jak to naprawić?

Upewnij się, że funkcja jest zdefiniowana w odpowiednim zakresie i można uzyskać dostęp do miejsca, w którym jest wywoływana. Na przykład, jeśli funkcja jest zdefiniowana w innej funkcji, może nie być dostępna z zewnątrz.

Wywołaj funkcję sum () wewnątrz print () po jej zdefiniowaniu:

funkcja print ()
funkcja sum (a, b)
konsola.log (a + b);

suma (1, 4);

Wywołaj metodę print ():

wydrukować();

Wyjście

Lub możesz również zdefiniować funkcję osobno i wywołać ją w zakresie innej funkcji w następujący sposób:

funkcja sum (a, b)
konsola.log (a + b);

Tutaj wywołamy funkcję sum () w funkcji print ():

funkcja print ()
suma (5, 10);

Wywołać metodę print () do wykonania funkcji „suma()”:

wydrukować();

Suma dwóch liczb "5" I "10„Zostały wyświetlone:

Omówiliśmy powody i rozwiązania dla JavaScript „Funkcja nie jest zdefiniowana błąd”(Ale jest zdefiniowane).

Wniosek

Istnieją dwa główne powody, dla których „funkcja nie została zdefiniowana„Błąd występuje po zdefiniowaniu funkcji, na przykład„Funkcja jest błędnie napisana lub ma niepoprawną kapitalizację" albo "Funkcja jest zdefiniowana w innym zakresie". W tym artykule zdefiniowano przyczyny i rozwiązania dla JavaScript „Funkcja nie zdefiniowana błąd” (ale jest zdefiniowany).