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:
- Funktionen er stavet forkert eller har forkert brug af store bogstaver.
- Funktion er defineret i et andet omfang.
Å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).