Ten artykuł opisuje JavaScript „błąd funkcji niezdefiniowanej” podczas jej definiowania.
Błąd niezdefiniowanej funkcji JavaScript (ALE JEST ZDEFINIOWANY)
Czasami funkcja jest zdefiniowana w kodzie, ale nadal możesz napotkać następujący błąd:
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 nieprawidłową wielkość liter.
- Funkcja jest zdefiniowana w innym zakresie.
Powód 1: Funkcja jest błędnie napisana lub ma niepoprawną wielkość liter
Czasami funkcja jest wywoływana z niepoprawną pisownią. Ponieważ w JavaScript rozróżniana jest wielkość liter, interpreter JavaScript nie mógł tego znaleźć i rzucił „ funkcja nie zdefiniowana ' błąd.
Przykład
Najpierw zdefiniujemy funkcję „ suma ”, która zwraca sumę dwóch liczb ” A ' I ' B ”:
suma funkcji ( a, b ) {powrót A + B ;
}
Wywołaj funkcję „ suma ' Jak ' suma ” przekazując numery ” 4 ' I ' 7 ”:
konsola. dziennik ( suma ( 4 , 7 ) )
Spowoduje to błąd „ suma nie jest określona ”:
Jak to naprawić?
Aby naprawić ten błąd, upewnij się, że nazwa funkcji jest wpisana poprawnie i ma poprawną wielkość liter:
konsola. dziennik ( suma ( 4 , 7 ) ) ;Teraz funkcja „ suma ” został pomyślnie wywołany i wypisuje 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 uzyskiwać dostęp tylko do zmiennych i funkcji, które są zdefiniowane w jej własnym zakresie. Jeśli funkcja jest zdefiniowana w innym zakresie, może nie być dostępna w bieżącym zakresie, co powoduje „ funkcja nie zdefiniowana ' błąd.
Przykład
Zdefiniuj funkcję „ suma() ” z dwoma parametrami “ A ' I ' B ” wewnątrz funkcji “ wydrukować() ”:
wydruk funkcji ( ) {suma funkcji ( a, b ) {
konsola. dziennik ( A + B ) ;
}
}
Wywołaj funkcję „ suma() ”:
suma ( 5 , 10 ) ;Daje błąd, ponieważ sum() jest zdefiniowana wewnątrz funkcji print(), ale dostępna poza zakresem:
Jak to naprawić?
Upewnij się, że funkcja jest zdefiniowana w odpowiednim zakresie i można uzyskać do niej dostęp z miejsca, w którym jest wywoływana. Na przykład, jeśli funkcja jest zdefiniowana wewnątrz innej funkcji, może nie być dostępna z zewnątrz.
Wywołaj sum() wewnątrz funkcji print() po jej zdefiniowaniu:
wydruk funkcji ( ) {suma funkcji ( a, b ) {
konsola. dziennik ( A + B ) ;
}
suma ( 1 , 4 ) ;
}
Wywołaj metodę print():
wydrukować ( ) ;Wyjście
Możesz też zdefiniować funkcję osobno i wywołać ją w zakresie innej funkcji w następujący sposób:
suma funkcji ( a, b ) {konsola. dziennik ( A + B ) ;
}
Tutaj wywołamy sum() wewnątrz funkcji print():
wydruk funkcji ( ) {suma ( 5 , 10 ) ;
}
Wywołaj metodę print(), aby wykonać funkcję „ suma() ”:
wydrukować ( ) ;Suma dwóch liczb” 5 ' I ' 10 ” zostały wyświetlone:
Omówiliśmy przyczyny i rozwiązania JavaScript” błąd niezdefiniowanej funkcji ” (ale to jest określone).
Wniosek
Istnieją dwa główne powody, dla których „ funkcja nie zdefiniowana ” pojawia się błąd po zdefiniowaniu funkcji, np. „ funkcja jest błędnie napisana lub ma nieprawidłową wielkość liter ' albo ' funkcja jest zdefiniowana w innym zakresie ”. W tym artykule zdefiniowano przyczyny i rozwiązania błędu JavaScript „funkcja niezdefiniowana” (ale jest zdefiniowana).