Pogreška JavaScript funkcije nije definirana (ALI JE DEFINIRANA)

Pogreska Javascript Funkcije Nije Definirana Ali Je Definirana



U JavaScriptu, ' funkcija nije definirana ” je uobičajena pogreška koja se javlja kada program pokuša koristiti funkciju koja nije deklarirana ili definirana u trenutnom opsegu. Ova poruka o pogrešci može biti zbunjujuća jer je ponekad funkcija zapravo definirana u kodu, ali svejedno rezultira pogreškom.

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:



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