JavaScript-funktion ikke defineret fejl (MEN DEN ER DEFINERET)

Javascript Funktion Ikke Defineret Fejl Men Den Er Defineret



I JavaScript, ' funktion ikke defineret ” er en almindelig fejl, der opstår, når programmet forsøger at bruge en funktion, der ikke er blevet erklæret eller defineret i det aktuelle omfang. Denne fejlmeddelelse kan være forvirrende, fordi nogle gange er funktionen faktisk defineret i koden, men den resulterer stadig i fejlen.

Denne artikel vil beskrive JavaScript 'funktion ikke defineret fejl', mens den er defineret.

JavaScript-funktion ikke defineret fejl (MEN DEN ER DEFINERET)

Nogle gange er funktionen defineret i koden, men stadig kan du stå over for følgende fejl:









Der er to hovedårsager til, at ovenstående fejl opstår efter at have defineret funktionen, som er anført nedenfor:



Årsag 1: Funktionen er stavet forkert eller har forkert brug af store bogstaver

Nogle gange kaldes funktionen med forkerte stavemåder. Da JavaScript er et sprog, der skelner mellem store og små bogstaver, kunne JavaScript-fortolkeren ikke finde det og kaste et ' funktion ikke defineret ' fejl.





Eksempel

Først vil vi definere en funktion ' sum ' der returnerer summen af ​​to tal ' -en ' og ' b ”:

funktion sum ( a, b ) {

Vend tilbage -en + b ;

}

Kald funktionen ' sum ' som ' sum ' ved at sende numre ' 4 ' og ' 7 ”:



konsol. log ( sum ( 4 , 7 ) )

Det vil give en fejl ' sum er ikke defineret ”:

Hvordan fikser man det?

For at rette denne fejl skal du sørge for, at funktionsnavnet er stavet korrekt og har den korrekte brug af store bogstaver:

konsol. log ( sum ( 4 , 7 ) ) ;

Nu er funktionen ' sum ' er blevet kaldt op og udskriv summen af ​​to tal ' 4 ' og ' 7 ”:

Årsag 2: Funktion er defineret i et andet omfang

I JavaScript har hver funktion sit omfang, og en funktion kan kun få adgang til variabler og funktioner, der er defineret inden for sit eget omfang. Hvis en funktion er defineret i et andet omfang, er den muligvis ikke tilgængelig for det aktuelle omfang, hvilket resulterer i en ' funktion ikke defineret ' fejl.

Eksempel

Definer en funktion ' sum() ' med to parametre ' -en ' og ' b ' inde i funktionen ' Print() ”:

funktion print ( ) {

funktion sum ( a, b ) {

konsol. log ( -en + b ) ;

}

}

Kald funktionen ' sum() ”:

sum ( 5 , 10 ) ;

Det giver en fejl, fordi sum() er defineret inde i print()-funktionen, men tilgås uden for scopet:

Hvordan fikser man det?

Sørg for, at funktionen er defineret i det relevante omfang og kan tilgås, hvorfra den kaldes. For eksempel, hvis funktionen er defineret inde i en anden funktion, er den muligvis ikke tilgængelig udefra.

Kald sum() inde i print()-funktionen efter at have defineret den:

funktion print ( ) {

funktion sum ( a, b ) {

konsol. log ( -en + b ) ;

}

sum ( 1 , 4 ) ;

}

Kald print() metoden:

Print ( ) ;

Produktion

Eller du kan også definere funktion separat og kalde den i en anden funktions omfang som følger:

funktion sum ( a, b ) {

konsol. log ( -en + b ) ;

}

Her vil vi kalde sum() inde i print()-funktionen:

funktion print ( ) {

sum ( 5 , 10 ) ;

}

Kald print()-metoden for at udføre funktionen ' sum() ”:

Print ( ) ;

Summen af ​​to tal ' 5 ' og ' 10 ' er blevet vist:

Vi har diskuteret årsagerne og løsningerne til JavaScript ' funktion ikke defineret fejl ” (men det er defineret).

Konklusion

Der er to hovedårsager til, at ' funktion ikke defineret ' fejl opstår efter at have defineret funktionen, såsom ' funktionen er stavet forkert eller har forkert brug af store bogstaver ' eller den ' funktion er defineret i et andet omfang ”. Denne artikel definerede årsagerne og løsningerne til JavaScript 'funktion ikke defineret fejl' (men det er defineret).