JavaScript -funksjon ikke definert feil

JavaScript -funksjon ikke definert feil
I JavaScript, “funksjon ikke definert”Er en vanlig feil som oppstår når programmet prøver å bruke en funksjon som ikke er blitt erklært eller definert i det nåværende omfanget. Denne feilmeldingen kan være forvirrende fordi noen ganger er funksjonen faktisk definert i koden, men den resulterer fortsatt i feilen.

Denne artikkelen vil beskrive JavaScript “-funksjonen ikke definert feil” mens den er definert.

JavaScript -funksjon ikke definert feil (men den er definert)

Noen ganger er funksjonen definert i koden, men likevel kan du møte følgende feil:

Det er to hovedårsaker til at feilen ovenfor oppstår etter å ha definert funksjonen, som er listet opp nedenfor:

  • Funksjonen er feilstavet eller har feil kapitalisering.
  • Funksjon er definert i et annet omfang.

Årsak 1: Funksjonen er feilstavet eller har feil kapitalisering

Noen ganger kalles funksjonen med feil stavemåter. Siden JavaScript er et case-følsomt språk, kunne ikke JavaScript-tolken finne det og kaste en "funksjon ikke definert”Feil.

Eksempel

Først vil vi definere en funksjon "Summ”Det returnerer summen av to tall”en”Og“b”:

funksjon Summ (a, b)
returner A + B;

Ring funksjonen “Summ" som "sum”Ved å passere tall”4”Og“7”:

konsoll.Logg (sum (4, 7))

Det vil kaste en feil “Summen er ikke definert”:

Hvordan fikse det?

For å fikse denne feilen, sørg for at funksjonsnavnet er stavet riktig og har riktig kapitalisering:

konsoll.Logg (Summ (4, 7));

Nå, funksjonen “Summ”Har blitt ringt og trykker ut summen av to tall”4”Og“7”:

Årsak 2: Funksjon er definert i et annet omfang

I JavaScript har hver funksjon sitt omfang, og en funksjon kan bare få tilgang til variabler og funksjoner som er definert innenfor sitt eget omfang. Hvis en funksjon er definert i et annet omfang, kan det hende at den ikke er tilgjengelig for det nåværende omfanget, noe som resulterer i et "funksjon ikke definert”Feil.

Eksempel

Definere en funksjon “sum()”Med to parametere”en”Og“b”Inne i funksjonen”skrive ut()”:

Funksjonsutskrift ()
funksjonssum (a, b)
konsoll.logg (a + b);

Ring funksjonen “sum()”:

sum (5, 10);

Det gir en feil fordi sum () er definert inne i utskriften () -funksjonen, men får tilgang til utenfor omfanget:

Hvordan fikse det?

Forsikre deg om at funksjonen er definert i riktig omfang og kan nås der det blir kalt. For eksempel, hvis funksjonen er definert i en annen funksjon, kan det hende at den ikke er tilgjengelig utenfra.

Ring summen () inne i print () -funksjonen etter å ha definert den:

Funksjonsutskrift ()
funksjonssum (a, b)
konsoll.logg (a + b);

sum (1, 4);

Ring print () -metoden:

skrive ut();

Produksjon

Eller du kan også definere funksjon separat og kalle det i en annen funksjons omfang som følger:

funksjonssum (a, b)
konsoll.logg (a + b);

Her vil vi kalle summen () inne i print () -funksjonen:

Funksjonsutskrift ()
sum (5, 10);

Ring metoden Print () for å utføre funksjonen “sum()”:

skrive ut();

Summen av to tall “5”Og“10”Har blitt vist:

Vi har diskutert årsakene og løsningene for JavaScript "Funksjon ikke definert feil”(Men det er definert).

Konklusjon

Det er to hovedårsaker til at “funksjon ikke definert”Feil oppstår etter å ha definert funksjonen, for eksempel“Funksjonen er feilstavet eller har feil kapitalisering" eller "Funksjon er definert i et annet omfang”. Denne artikkelen definerte årsakene og løsningene for JavaScript “Funksjon ikke definert feil” (men den er definert).