1
resposta

Duvida funcao anonima - Curso JS na Web: Manipule o DOM com JavaScript

na aula 02.Comportamento do formulario, video 02. Escutando Evento:

Percebi que se nao uso a funcao anonima em um AddEventListener (por exemplo: novatarefa.addEventListener("click",console.log("fui clicado") ) , e simplesmente rodar o programa sem clicar no botao, ele ja sai executando sem ter clicado no botao e mesmo atribuindo a um evento "click", por que isso acontece ?

sou obrigado a colocar a funcao anonima com o arrow function? pois se colocar ele somente executa ao clicar no botao (por exemplo: por exemplo: novatarefa.addEventListener("click", () => {console.log("fui clicado")} )

1 resposta

no addEventListener ocorre o seguinte

são 2 parâmetros:

  1. tipo do evento
  2. função a ser executada.

no 2, podemos ter:

-só o nome da função:

addEventListener('click', mostrarMensagem) dessa forma só executa com o click

-nome da função + ( ):

addEventListener('click', mostrarMensagem()) dessa forma executa automaticamente sem esperar o click

-função anônima/arroz function:

addEventListener('click', () => {}) dessa forma (arroz function/função anonima) só executa com o click pois ele até tenta executar direto devido aos parênteses mas como é uma função anônima e eles estão vazios não há nada pra executar e então ele espera o click para chamar a segunda parte da função (após o "=>")