Błąd niezdefiniowanej funkcji JavaScript (ALE JEST ZDEFINIOWANY)

Blad Niezdefiniowanej Funkcji Javascript Ale Jest Zdefiniowany



W JavaScript „ funkcja nie zdefiniowana ” to częsty błąd, który występuje, gdy program próbuje użyć funkcji, która nie została zadeklarowana lub 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.

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:



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).