Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Dúvida sobre funções

Olá a todos, ótimo curso esse, estão de parabéns mesmo.

Porque quando eu uso a função mostraMensagem sem o parênteses no final, a função executa somente quando eu clico, mas quando eu uso a função com o parênteses ele é executada sozinha?

var titulo = document.querySelector("#titulo-principal");
titulo.addEventListener("click", mostraMensagem());
function mostraMensagem(){
    console.log("O título foi clicado");
}
-----------
var titulo = document.querySelector("#titulo-principal");
titulo.addEventListener("click", mostraMensagem);
function mostraMensagem(){
    console.log("O título foi clicado");
}
2 respostas
solução!

Oi Flavio, tudo bem ?

Quando fazemos mostraMensagem(), significa que queremos nosso método seja executado no mesmo instante. Contudo, quando passamos da outra maneira, estamos apenas passando a referência do nosso método, que quem irá chamar é o próprio listener.

Espero ter deixado um pouco mais claro.

Abraços e bons estudos.

Obrigado,