Solucionado (ver solução)
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,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software