JavaScript-funktion ej definierad fel (MEN DEN ÄR DEFINIERAD)

Javascript Funktion Ej Definierad Fel Men Den Ar Definierad



I JavaScript, ' funktion ej definierad ” är ett vanligt fel som uppstår när programmet försöker använda en funktion som inte har deklarerats eller definierats i det aktuella omfånget. Det här felmeddelandet kan vara förvirrande eftersom funktionen ibland faktiskt är definierad i koden, men det resulterar fortfarande i felet.

Den här artikeln kommer att beskriva JavaScriptet 'funktion ej definierat fel' medan det är definierat.

JavaScript-funktion ej definierad fel (MEN DEN ÄR DEFINIERAD)

Ibland är funktionen definierad i koden, men du kan fortfarande möta följande fel:









Det finns två huvudorsaker till att ovanstående fel uppstår efter att ha definierat funktionen, som listas nedan:



Orsak 1: Funktionen är felstavad eller har felaktig versal

Ibland anropas funktionen med felaktiga stavningar. Eftersom JavaScript är ett skiftlägeskänsligt språk kunde JavaScript-tolken inte hitta det och skicka ett ' funktion ej definierad ' fel.





Exempel

Först kommer vi att definiera en funktion ' summa ' som returnerar summan av två siffror ' a ' och ' b ”:

funktionssumma ( a, b ) {

lämna tillbaka a + b ;

}

Ring funktionen ' summa ' som ' belopp ' genom att skicka siffror ' 4 ' och ' 7 ”:



trösta. logga ( belopp ( 4 , 7 ) )

Det kommer att ge ett fel ' summan är inte definierad ”:

Hur fixar man det?

För att åtgärda det här felet, se till att funktionsnamnet är rättstavat och har rätt versaler:

trösta. logga ( summa ( 4 , 7 ) ) ;

Nu, funktionen ' summa ' har anropats och skriv ut summan av två siffror ' 4 ' och ' 7 ”:

Anledning 2: Funktionen definieras i ett annat omfång

I JavaScript har varje funktion sitt omfång, och en funktion kan bara komma åt variabler och funktioner som är definierade inom sitt eget omfång. Om en funktion är definierad i ett annat omfång kanske den inte är tillgänglig för det aktuella omfånget, vilket resulterar i en ' funktion ej definierad ' fel.

Exempel

Definiera en funktion ' belopp() ' med två parametrar ' a ' och ' b 'inuti funktionen' skriva ut() ”:

funktionsutskrift ( ) {

funktion summa ( a, b ) {

trösta. logga ( a + b ) ;

}

}

Ring funktionen ' belopp() ”:

belopp ( 5 , 10 ) ;

Det ger ett fel eftersom sum() är definierad i print()-funktionen men nås utanför omfånget:

Hur fixar man det?

Se till att funktionen är definierad i lämplig omfattning och kan nås där den anropas. Till exempel, om funktionen är definierad i en annan funktion, kanske den inte är tillgänglig utifrån.

Anrop sum() inuti print()-funktionen efter att ha definierat den:

funktionsutskrift ( ) {

funktion summa ( a, b ) {

trösta. logga ( a + b ) ;

}

belopp ( 1 , 4 ) ;

}

Anropa metoden print():

skriva ut ( ) ;

Produktion

Eller så kan du också definiera en funktion separat och anropa den i en annan funktions omfattning enligt följande:

funktion summa ( a, b ) {

trösta. logga ( a + b ) ;

}

Här kommer vi att anropa summan() i print()-funktionen:

funktionsutskrift ( ) {

belopp ( 5 , 10 ) ;

}

Anropa metoden print() för att utföra funktionen ' belopp() ”:

skriva ut ( ) ;

Summan av två tal ' 5 ' och ' 10 ' har visats:

Vi har diskuterat orsakerna och lösningarna för JavaScript ' funktion ej definierad fel ” (men det är definierat).

Slutsats

Det finns två huvudorsaker till att ' funktion ej definierad ”-fel uppstår efter att ha definierat funktionen, till exempel ” funktionen är felstavad eller har felaktig versaler ' eller den ' funktion definieras i ett annat omfång ”. Den här artikeln definierade orsakerna och lösningarna för JavaScript 'funktion ej definierat fel' (men det är definierat).