Napaka funkcije JavaScript ni definirana (AMPAK JE DEFINIRANA)

Napaka Funkcije Javascript Ni Definirana Ampak Je Definirana



V JavaScriptu, ' funkcija ni definirana ” je pogosta napaka, ki se pojavi, ko program poskuša uporabiti funkcijo, ki ni bila deklarirana ali definirana v trenutnem obsegu. To sporočilo o napaki je lahko zmedeno, ker je včasih funkcija dejansko definirana v kodi, vendar še vedno povzroči napako.

V tem članku bo opisana napaka JavaScript »funkcija ni definirana«, medtem ko je definirana.

Napaka funkcije JavaScript ni definirana (VEndar JE DEFINIRANA)

Včasih je funkcija definirana v kodi, a vseeno se lahko soočite z naslednjo napako:









Obstajata dva glavna razloga, zakaj pride do zgornje napake po definiranju funkcije, ki sta navedena spodaj:



1. razlog: Funkcija je napačno črkovana ali ima nepravilno uporabo velikih začetnic

Včasih je funkcija poklicana z napačnim črkovanjem. Ker je JavaScript jezik, ki razlikuje med velikimi in malimi črkami, tolmač JavaScript tega ni mogel najti in vrgel ' funkcija ni definirana ” napaka.





Primer

Najprej bomo definirali funkcijo ' summ ” ki vrne vsoto dveh števil “ a « in » b ”:

funkcija summ ( a, b ) {

vrnitev a + b ;

}

Pokličite funkcijo ' summ 'kot' vsota »s podajanjem številk« 4 « in » 7 ”:



konzola. dnevnik ( vsota ( 4 , 7 ) )

Vrglo bo napako ' vsota ni definirana ”:

Kako to popraviti?

Če želite odpraviti to napako, se prepričajte, da je ime funkcije pravilno črkovano in ima pravilne velike začetnice:

konzola. dnevnik ( summ ( 4 , 7 ) ) ;

Zdaj pa funkcija ' summ ” je bil uspešno poklican in natisniti vsoto dveh števil “ 4 « in » 7 ”:

2. razlog: Funkcija je definirana v drugem obsegu

V JavaScriptu ima vsaka funkcija svoj obseg in funkcija lahko dostopa le do spremenljivk in funkcij, ki so definirane znotraj njenega obsega. Če je funkcija definirana v drugem obsegu, morda ne bo dostopna v trenutnem obsegu, kar povzroči ' funkcija ni definirana ” napaka.

Primer

Določite funkcijo ' vsota() 'z dvema parametroma' a « in » b ' znotraj funkcije ' natisni() ”:

tiskanje funkcije ( ) {

funkcija vsota ( a, b ) {

konzola. dnevnik ( a + b ) ;

}

}

Pokličite funkcijo ' vsota() ”:

vsota ( 5 , 10 ) ;

Prikaže napako, ker je sum() definirana znotraj funkcije print(), vendar dostopna zunaj obsega:

Kako to popraviti?

Zagotovite, da je funkcija definirana v ustreznem obsegu in da je do nje mogoče dostopati od tam, kjer je klicana. Na primer, če je funkcija definirana znotraj druge funkcije, morda ne bo dostopna od zunaj.

Pokličite sum() znotraj funkcije print(), potem ko jo definirate:

tiskanje funkcije ( ) {

funkcija vsota ( a, b ) {

konzola. dnevnik ( a + b ) ;

}

vsota ( 1 , 4 ) ;

}

Pokličite metodo print():

tiskanje ( ) ;

Izhod

Lahko pa tudi definirate funkcijo ločeno in jo pokličete v obsegu druge funkcije, kot sledi:

funkcija vsota ( a, b ) {

konzola. dnevnik ( a + b ) ;

}

Tukaj bomo poklicali sum() znotraj funkcije print():

tiskanje funkcije ( ) {

vsota ( 5 , 10 ) ;

}

Pokličite metodo print() za izvedbo funkcije “ vsota() ”:

tiskanje ( ) ;

Vsota dveh števil ' 5 « in » 10 « so bili prikazani:

Razpravljali smo o razlogih in rešitvah za JavaScript ' funkcija ni definirana napaka ” (je pa definiran).

Zaključek

Obstajata dva glavna razloga, zakaj ' funkcija ni definirana ' se pojavi napaka po definiranju funkcije, kot je ' funkcija je napačno črkovana ali ima nepravilno uporabo velikih začetnic ' ali ' funkcija je definirana v drugem obsegu ”. Ta članek je opredelil razloge in rešitve za napako JavaScript »funkcija ni definirana« (vendar je definirana).