Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Sintaxe na chamada da function

Professor, por que na chamada da function dentro do addEventListener não vai parênteses?

Ex:

enviarPaciente.addEventListener("click", nomeFuncao); enviarPaciente.addEventListener("click", nomeFuncao()); // não funciona

3 respostas
solução!

oi Cleverson!

a diferença aqui está entre o seguinte:

  • chamar uma função
  • passar ela como parâmetro

sempre que vc quiser chamar uma função (executar ela) você escreve com os parênteses nomeFuncao()

mas, nesse caso, nós não queremos chamar ela, nós estamos passando ela como um parâmetro do addEventListener, ou seja, ele vai guardar que quando o enviarPaciente for clicado, ele vai precisar chamar a função nomeFuncao. estamos passando ela como um parâmetro.

faz sentido?

abraços!

Cleverson,

Blz?

Só complementando a resposta do Philippe, faça o seguinte teste.

// essa função simula a implementação do addEventListener
function nome(nome, callback) {
     callback(nome); // aqui estamos chamando a função passada como argumento da função nome
}

function nomeFuncao(nome) {
     console.log(nome)
}

nome("andre", nomeFuncao);

// ou

nome("andre",  function(nome) { console.log(nome) });

[]s

Muito obrigado Philippe pelo esclarecimento e Andre pelo exemplo. Consegui entender a diferença.