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

a function() com parenteses não deveria só funcionar quando estiver return?

var titulo = document.querySelector("#titulo");
titulo.addEventListener("click", function(){
    console.log("Fui clicado");
});
3 respostas

Oi Cezar!

Não entendi muito bem a sua pergunta, mas me parece que vc está perguntando se é obrigatório ter um return em todas as funções que vc escrever em javascript. Se for isso, a resposta é não, vc só precisa usar o return se vc quiser que a função retorne alguma coisa pra quem está chamando ela.

Abraços!

a minha duvida na verdade é toda vez que eu coloco parenteses depois da funcao() só vai funcionar algo naquele contexto que estiver como return?

solução!

Hmm...eu acho que agora eu entendi.

Vc está perguntando se quando você passa uma função como parâmetro pra outra função (como está fazendo no addEventListener) ela só vai funcionar dentro daquele callback.

Nesse exemplo que você passou sim, como vc está passando uma função anônima (sem nome) para o callback, ela só poderá ser usada quando a div com id titulo tiver sido clicada.

Mas vamos supor que você queira reaproveitar esse comportamento, você poderia colocar essa sua função em uma variável e passar ela pra vários event listeners, por exemplo:

var imprimirNoConsole = function(){
    console.log("Fui clicado");
}

var titulo = document.querySelector("#titulo");
titulo.addEventListener("click", imprimirNoConsole);

var imagem = document.querySelector("#imagem");
imagem.addEventListener("click", imprimirNoConsole);

agora tanto quando vc clicar no elemento com id imagem como quando vc clicar no com id titulo a função que imprimi no console será chamada.

faz sentido?