Erro de função JavaScript não definida (MAS ESTÁ DEFINIDO)

Erro De Funcao Javascript Nao Definida Mas Esta Definido



Em JavaScript, “ função não definida ” é um erro comum que ocorre quando o programa tenta usar uma função que não foi declarada ou definida no escopo atual. Essa mensagem de erro pode ser confusa porque às vezes a função está realmente definida no código, mas ainda resulta no erro.

Este artigo irá descrever o “erro de função não definida” do JavaScript enquanto ele é definido.

Erro de função JavaScript não definida (MAS ESTÁ DEFINIDO)

Às vezes, a função é definida no código, mas ainda assim, você pode enfrentar o seguinte erro:









Existem dois motivos principais pelos quais o erro acima ocorre após a definição da função, listados abaixo:



Motivo 1: a função está incorreta ou com letras maiúsculas incorretas

Às vezes, a função é chamada com ortografia incorreta. Como o JavaScript é uma linguagem que diferencia maiúsculas de minúsculas, o interpretador de JavaScript não conseguiu encontrar isso e lançar um “ função não definida ” erro.





Exemplo

Primeiro, vamos definir uma função “ soma ” que retorna a soma de dois números “ a ' e ' b ”:

função soma ( a, b ) {

retornar a + b ;

}

Chame a função “ soma ' como ' soma ” passando números “ 4 ' e ' 7 ”:



console. registro ( soma ( 4 , 7 ) )

Vai lançar um erro “ soma não está definida ”:

Como corrigi-lo?

Para corrigir esse erro, certifique-se de que o nome da função esteja escrito corretamente e tenha a capitalização correta:

console. registro ( soma ( 4 , 7 ) ) ;

Agora, a função “ soma ” foi chamado com sucesso e imprime a soma de dois números “ 4 ' e ' 7 ”:

Motivo 2: a função é definida em um escopo diferente

Em JavaScript, cada função tem seu escopo e uma função só pode acessar variáveis ​​e funções definidas dentro de seu próprio escopo. Se uma função for definida em um escopo diferente, pode não ser acessível para o escopo atual, resultando em um “ função não definida ” erro.

Exemplo

Defina uma função “ soma() ” com dois parâmetros “ a ' e ' b ” dentro da função “ imprimir() ”:

impressão de função ( ) {

função soma ( a, b ) {

console. registro ( a + b ) ;

}

}

Chame a função “ soma() ”:

soma ( 5 , 10 ) ;

Dá um erro porque sum() é definido dentro da função print() mas acessado fora do escopo:

Como corrigi-lo?

Certifique-se de que a função esteja definida no escopo apropriado e possa ser acessada de onde está sendo chamada. Por exemplo, se a função for definida dentro de outra função, ela pode não ser acessível de fora.

Chame o sum() dentro da função print() depois de defini-lo:

impressão de função ( ) {

função soma ( a, b ) {

console. registro ( a + b ) ;

}

soma ( 1 , 4 ) ;

}

Chame o método print():

imprimir ( ) ;

Saída

Ou você também pode definir a função separadamente e chamá-la no escopo de outra função da seguinte maneira:

função soma ( a, b ) {

console. registro ( a + b ) ;

}

Aqui, chamaremos o sum() dentro da função print():

impressão de função ( ) {

soma ( 5 , 10 ) ;

}

Chame o método print() para executar a função “ soma() ”:

imprimir ( ) ;

A soma de dois números ' 5 ' e ' 10 ” foram exibidos:

Discutimos as razões e soluções para o JavaScript “ função não definida erro ” (mas está definido).

Conclusão

Existem duas razões principais pelas quais o “ função não definida ” ocorre após definir a função, como “ a função está incorreta ou tem letras maiúsculas incorretas ' ou o ' função é definida em um escopo diferente ”. Este artigo definiu as razões e soluções para o “erro de função não definida” do JavaScript (mas está definida).