Olá Yuri, tudo bem com você?
Isso mesmo, a maioria dos eventos do javascript utilizam uma função callback
para conseguir o comportamento definido pelo desenvolvedor :)
Mais para frente será apresentado o eventListener
, nele fica mais visível este comportamento =)
botao.addEventListener( "click", function(event){
event.preventDefault();
alert("Olá Mundo!");
});
// Outra forma
function minhaFuncao(){
alert("Olá Mundo!");
}
botao.addEventListener("click", minhaFuncao);
Nestes 2 exemplos fica mais evidente que associamos um tipo de evento do usuário com uma função callback a ser executada =)
O mesmo aconteceria se estivéssemos rodando no nodejs, no console, no caso. Ou isso é valido somente para o browser
Em qualquer ambiente, a lógica de não colocar os parenteses é porque estamos passando uma função como parâmetro:
botao.addEventListener("click", minhaFuncao);
Da mesma forma que em vários exercícios passamos números
para calcular IMC, ou Strings
para colocar na tela, o javacript permite que a gente passe funções também :)
Se colocássemos os parenteses, estaríamos passando o resultado da função como parâmetro e nos 2 exemplos que eu dei o resultado é indefinido (undefined) pois executa um alert
e não retorna nada :)
Então nestes exemplos que temos funções callbacks, passamos a função que queremos que seja executada
, ao invés de executá-la =)
Conseguiu Compreender?
Abraços e Bons Estudos!