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:
- A função está incorreta ou com letras maiúsculas incorretas.
- A função é definida em um escopo diferente.
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).