Questo articolo descriverà l''errore di funzione non definito' JavaScript mentre è definito.
Errore di funzione JavaScript non definita (MA È DEFINITA)
A volte, la funzione è definita nel codice, ma puoi comunque riscontrare il seguente errore:
Esistono due motivi principali per cui si verifica l'errore sopra riportato dopo aver definito la funzione, che sono elencati di seguito:
- La funzione è scritta in modo errato o ha maiuscole e minuscole errate.
- La funzione è definita in un ambito diverso.
Motivo 1: la funzione è errata o presenta lettere maiuscole errate
A volte, la funzione viene chiamata con ortografia errata. Poiché JavaScript è un linguaggio con distinzione tra maiuscole e minuscole, l'interprete JavaScript non è riuscito a trovarlo e ha lanciato un ' funzione non definita ” errore.
Esempio
Innanzitutto, definiremo una funzione ' somma ” che restituisce la somma di due numeri “ UN ' E ' B ”:
funzione somma ( a, b ) {ritorno UN + B ;
}
Chiama la funzione ' somma ' COME ' somma ” passando i numeri “ 4 ' E ' 7 ”:
consolare. tronco d'albero ( somma ( 4 , 7 ) )
Genererà un errore ' la somma non è definita ”:
Come sistemarlo?
Per correggere questo errore, assicurati che il nome della funzione sia scritto correttamente e abbia le lettere maiuscole corrette:
consolare. tronco d'albero ( somma ( 4 , 7 ) ) ;Ora, la funzione ' somma ” è stato chiamato con successo e stampa la somma di due numeri “ 4 ' E ' 7 ”:
Motivo 2: la funzione è definita in un ambito diverso
In JavaScript, ogni funzione ha il proprio ambito e una funzione può accedere solo a variabili e funzioni definite all'interno del proprio ambito. Se una funzione è definita in un ambito diverso, potrebbe non essere accessibile all'ambito corrente, risultando in un ' funzione non definita ” errore.
Esempio
Definire una funzione ' somma() ” con due parametri “ UN ' E ' B ” all'interno della funzione “ stampa() ”:
funzione di stampa ( ) {funzione somma ( a, b ) {
consolare. tronco d'albero ( UN + B ) ;
}
}
Chiama la funzione ' somma() ”:
somma ( 5 , 10 ) ;Dà un errore perché sum() è definito all'interno della funzione print() ma vi si accede dall'esterno dell'ambito:
Come sistemarlo?
Assicurarsi che la funzione sia definita nell'ambito appropriato e che sia possibile accedervi da dove viene chiamata. Ad esempio, se la funzione è definita all'interno di un'altra funzione, potrebbe non essere accessibile dall'esterno.
Chiama sum() all'interno della funzione print() dopo averla definita:
funzione di stampa ( ) {funzione somma ( a, b ) {
consolare. tronco d'albero ( UN + B ) ;
}
somma ( 1 , 4 ) ;
}
Chiama il metodo print():
stampa ( ) ;Produzione
Oppure puoi anche definire la funzione separatamente e chiamarla nell'ambito di un'altra funzione come segue:
funzione somma ( a, b ) {consolare. tronco d'albero ( UN + B ) ;
}
Qui, chiameremo sum() all'interno della funzione print():
funzione di stampa ( ) {somma ( 5 , 10 ) ;
}
Chiama il metodo print() per eseguire la funzione ' somma() ”:
stampa ( ) ;La somma di due numeri “ 5 ' E ' 10 ” sono stati visualizzati:
Abbiamo discusso le ragioni e le soluzioni per il JavaScript ' funzione non definita errore ” (ma è definito).
Conclusione
Ci sono due ragioni principali per cui il ' funzione non definita 'si verifica un errore dopo aver definito la funzione, ad esempio' la funzione è scritta in modo errato o ha maiuscole e minuscole errate ' o il ' funzione è definita in un ambito diverso ”. Questo articolo ha definito i motivi e le soluzioni per l''errore di funzione non definito' JavaScript (ma è definito).