Fout JavaScript-functie niet gedefinieerd (MAAR HET IS GEDEFINIEERD)

Fout Javascript Functie Niet Gedefinieerd Maar Het Is Gedefinieerd



In javascript, ' functie niet gedefinieerd ” is een veel voorkomende fout die optreedt wanneer het programma een functie probeert te gebruiken die niet is gedeclareerd of gedefinieerd in het huidige bereik. Deze foutmelding kan verwarrend zijn omdat de functie soms daadwerkelijk in de code is gedefinieerd, maar nog steeds resulteert in de fout.

Dit artikel beschrijft de JavaScript-functie niet gedefinieerde fout terwijl deze is gedefinieerd.

Fout JavaScript-functie niet gedefinieerd (MAAR HET IS GEDEFINIEERD)

Soms is de functie gedefinieerd in de code, maar toch kunt u de volgende fout tegenkomen:









Er zijn twee hoofdredenen waarom de bovenstaande fout optreedt na het definiëren van de functie, die hieronder worden vermeld:



Reden 1: Functie is verkeerd gespeld of heeft onjuist hoofdlettergebruik

Soms wordt de functie aangeroepen met onjuiste spelling. Aangezien JavaScript een hoofdlettergevoelige taal is, kon de JavaScript-interpreter die niet vinden en een ' functie niet gedefinieerd ' fout.





Voorbeeld

Eerst zullen we een functie definiëren ' som ” dat de som van twee getallen retourneert “ A ' En ' B ”:

functie som ( een, b ) {

opbrengst A + B ;

}

Noem de functie ' som ' als ' som ” door nummers door te geven “ 4 ' En ' 7 ”:



troosten. loggen ( som ( 4 , 7 ) )

Het zal een fout genereren ' som is niet gedefinieerd ”:

Hoe herstel je het?

Om deze fout op te lossen, moet u ervoor zorgen dat de functienaam correct is gespeld en het juiste hoofdlettergebruik heeft:

troosten. loggen ( som ( 4 , 7 ) ) ;

Nu, de functie “ som ” is met succes gebeld en druk de som van twee getallen af ​​“ 4 ' En ' 7 ”:

Reden 2: functie is gedefinieerd in een ander bereik

In JavaScript heeft elke functie zijn bereik en een functie heeft alleen toegang tot variabelen en functies die binnen zijn eigen bereik zijn gedefinieerd. Als een functie in een ander bereik is gedefinieerd, is deze mogelijk niet toegankelijk voor het huidige bereik, wat resulteert in een ' functie niet gedefinieerd ' fout.

Voorbeeld

Definieer een functie “ som() ” met twee parameters “ A ' En ' B ” binnen de functie “ afdrukken() ”:

functie afdrukken ( ) {

functie som ( een, b ) {

troosten. loggen ( A + B ) ;

}

}

Noem de functie ' som() ”:

som ( 5 , 10 ) ;

Het geeft een foutmelding omdat sum() is gedefinieerd binnen de functie print() maar toegankelijk is buiten het bereik:

Hoe herstel je het?

Zorg ervoor dat de functie is gedefinieerd in het juiste bereik en toegankelijk is vanaf de plek waar deze wordt aangeroepen. Als de functie bijvoorbeeld binnen een andere functie is gedefinieerd, is deze mogelijk niet toegankelijk van buitenaf.

Roep de som() aan binnen de functie print() nadat u deze hebt gedefinieerd:

functie afdrukken ( ) {

functie som ( een, b ) {

troosten. loggen ( A + B ) ;

}

som ( 1 , 4 ) ;

}

Roep de methode print() aan:

afdrukken ( ) ;

Uitgang

Of u kunt de functie ook afzonderlijk definiëren en deze als volgt binnen het bereik van een andere functie noemen:

functie som ( een, b ) {

troosten. loggen ( A + B ) ;

}

Hier noemen we de som() binnen de print() functie:

functie afdrukken ( ) {

som ( 5 , 10 ) ;

}

Roep de methode print() aan om de functie ' som() ”:

afdrukken ( ) ;

De som van twee getallen ' 5 ' En ' 10 ” zijn weergegeven:

We hebben de redenen en oplossingen voor JavaScript besproken ' functie niet gedefinieerde fout ” (maar het is gedefinieerd).

Conclusie

Er zijn twee belangrijke redenen waarom de “ functie niet gedefinieerd ' fout treedt op na het definiëren van de functie, zoals ' functie is verkeerd gespeld of heeft onjuist hoofdlettergebruik ' of de ' functie is gedefinieerd in een ander bereik ”. Dit artikel definieerde de redenen en oplossingen voor de JavaScript-functie niet gedefinieerde fout (maar het is gedefinieerd).