Error de funció JavaScript no definida (PERÒ ESTÀ DEFINIT)

Error De Funcio Javascript No Definida Pero Esta Definit



En JavaScript, ' funció no definida ” és un error comú que es produeix quan el programa intenta utilitzar una funció que no ha estat declarada o definida en l'àmbit actual. Aquest missatge d'error pot ser confús perquè de vegades la funció es defineix realment al codi, però encara provoca l'error.

Aquest article descriurà l''error de funció no definit' de JavaScript mentre està definit.

Error de funció JavaScript no definida (PERÒ ESTÀ DEFINIT)

De vegades, la funció es defineix al codi, però tot i així, podeu trobar el següent error:









Hi ha dues raons principals per les quals es produeix l'error anterior després de definir la funció, que s'enumeren a continuació:



Motiu 1: la funció està mal escrita o té majúscules incorrectes

De vegades, la funció s'anomena amb ortografia incorrecta. Com que JavaScript és un llenguatge sensible a majúscules i minúscules, l'intèrpret de JavaScript no ha pogut trobar-ho i va llançar un ' funció no definida ” error.





Exemple

Primer, definirem una funció “ suma 'que retorna la suma de dos nombres' a ' i ' b ”:

funció suma ( a, b ) {

tornar a + b ;

}

Crida la funció ' suma ' com ' suma 'passant números' 4 ' i ' 7 ”:



consola. registre ( suma ( 4 , 7 ) )

Llançarà un error ' la suma no està definida ”:

Com solucionar-ho?

Per corregir aquest error, assegureu-vos que el nom de la funció estigui escrit correctament i que tingui les majúscules correctes:

consola. registre ( suma ( 4 , 7 ) ) ;

Ara, la funció ' suma ' s'ha cridat amb èxit i imprimeix la suma de dos nombres ' 4 ' i ' 7 ”:

Raó 2: la funció es defineix en un àmbit diferent

A JavaScript, cada funció té el seu abast, i una funció només pot accedir a variables i funcions que es defineixen dins del seu propi àmbit. Si una funció es defineix en un àmbit diferent, pot ser que no sigui accessible per a l'àmbit actual, donant lloc a un ' funció no definida ” error.

Exemple

Definiu una funció ' suma() 'amb dos paràmetres' a ' i ' b 'dins de la funció' imprimir() ”:

funció d'impressió ( ) {

funció suma ( a, b ) {

consola. registre ( a + b ) ;

}

}

Crida la funció ' suma() ”:

suma ( 5 , 10 ) ;

Proporciona un error perquè sum() es defineix dins de la funció print() però s'accedeix fora de l'àmbit:

Com solucionar-ho?

Assegureu-vos que la funció està definida en l'àmbit adequat i es pot accedir des d'on s'està cridant. Per exemple, si la funció es defineix dins d'una altra funció, pot ser que no sigui accessible des de l'exterior.

Truqueu a la suma() dins de la funció print() després de definir-la:

funció d'impressió ( ) {

funció suma ( a, b ) {

consola. registre ( a + b ) ;

}

suma ( 1 , 4 ) ;

}

Truqueu al mètode print():

imprimir ( ) ;

Sortida

O també podeu definir la funció per separat i cridar-la en l'àmbit d'una altra funció de la següent manera:

funció suma ( a, b ) {

consola. registre ( a + b ) ;

}

Aquí, cridarem a la suma() dins de la funció print():

funció d'impressió ( ) {

suma ( 5 , 10 ) ;

}

Truqueu al mètode print() per executar la funció ' suma() ”:

imprimir ( ) ;

La suma de dos nombres ' 5 ' i ' 10 ” s'han mostrat:

Hem comentat els motius i les solucions del JavaScript ' error de funció no definit ” (però està definit).

Conclusió

Hi ha dues raons principals per les quals ' funció no definida ” es produeix un error després de definir la funció, com ara “ La funció està mal escrita o té majúscules incorrectes ' o el ' funció es defineix en un àmbit diferent ”. Aquest article va definir els motius i les solucions de l'error 'funció no definida' de JavaScript (però està definit).