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:
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)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 ()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 ()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)Tutaj wywołamy funkcję sum () w funkcji print ():
funkcja print ()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).