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
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
oi Cleverson!
a diferença aqui está entre o seguinte:
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.