Ovaj će članak opisati JavaScript 'pogrešku koja nije definirana funkcija' dok je definirana.
Pogreška JavaScript funkcije nije definirana (ALI JE DEFINIRANA)
Ponekad je funkcija definirana u kodu, ali ipak se možete suočiti sa sljedećom pogreškom:
Postoje dva glavna razloga zašto se gornja pogreška pojavljuje nakon definiranja funkcije, a koji su navedeni u nastavku:
- Funkcija je pogrešno napisana ili ima netočna velika i mala slova.
- Funkcija je definirana u drugom opsegu.
Razlog 1: Funkcija je pogrešno napisana ili ima netočnu upotrebu velikih i malih slova
Ponekad se funkcija poziva s netočnim pravopisom. Budući da je JavaScript jezik koji razlikuje velika i mala slova, JavaScript interpreter to nije mogao pronaći i izbaciti ' funkcija nije definirana ” pogreška.
Primjer
Prvo ćemo definirati funkciju ' summ ” koja vraća zbroj dva broja “ a ' i ' b ”:
funkcija zbroj ( a, b ) {povratak a + b ;
}
Pozovite funkciju “ summ ” kao “ iznos ' prosljeđivanjem brojeva ' 4 ' i ' 7 ”:
konzola. log ( iznos ( 4 , 7 ) )
Izbacit će pogrešku ' zbroj nije definiran ”:
Kako to popraviti?
Da biste ispravili ovu pogrešku, provjerite je li naziv funkcije ispravno napisan i ima li ispravna velika slova:
konzola. log ( summ ( 4 , 7 ) ) ;Sada, funkcija ' summ ” je uspješno pozvan i ispišite zbroj dva broja “ 4 ' i ' 7 ”:
Razlog 2: Funkcija je definirana u drugom opsegu
U JavaScriptu svaka funkcija ima svoj opseg, a funkcija može pristupiti samo varijablama i funkcijama koje su definirane unutar vlastitog opsega. Ako je funkcija definirana u drugom opsegu, možda neće biti dostupna trenutnom opsegu, što rezultira ' funkcija nije definirana ” pogreška.
Primjer
Definirajte funkciju ' iznos() 'sa dva parametra' a ' i ' b ' unutar funkcije ' ispis() ”:
ispis funkcije ( ) {funkcija zbroj ( a, b ) {
konzola. log ( a + b ) ;
}
}
Pozovite funkciju “ iznos() ”:
iznos ( 5 , 10 ) ;Daje pogrešku jer je sum() definirana unutar funkcije print(), ali joj se pristupa izvan opsega:
Kako to popraviti?
Osigurajte da je funkcija definirana u odgovarajućem opsegu i da joj se može pristupiti s mjesta na kojem se poziva. Na primjer, ako je funkcija definirana unutar druge funkcije, možda neće biti dostupna izvana.
Pozovite sum() unutar print() funkcije nakon što je definirate:
ispis funkcije ( ) {funkcija zbroj ( a, b ) {
konzola. log ( a + b ) ;
}
iznos ( 1 , 4 ) ;
}
Pozovite metodu print():
ispisati ( ) ;Izlaz
Ili također možete zasebno definirati funkciju i pozvati je u opsegu druge funkcije na sljedeći način:
funkcija zbroj ( a, b ) {konzola. log ( a + b ) ;
}
Ovdje ćemo pozvati sum() unutar print() funkcije:
ispis funkcije ( ) {iznos ( 5 , 10 ) ;
}
Pozovite metodu print() da biste izvršili funkciju “ iznos() ”:
ispisati ( ) ;Zbroj dva broja “ 5 ' i ' 10 ” su prikazani:
Razgovarali smo o razlozima i rješenjima za JavaScript ' pogreška funkcije nije definirana ” (ali je definirano).
Zaključak
Dva su glavna razloga zašto ' funkcija nije definirana ' pojavljuje se pogreška nakon definiranja funkcije, kao što je ' funkcija je pogrešno napisana ili ima netočna velika slova ' ili ' funkcija je definirana u drugom opsegu ”. Ovaj članak definirao je razloge i rješenja za JavaScript 'pogrešku koja nije definirana funkcija' (ali je definirana).