Olá Laura, tudo bem?
Quando você passa a função com parênteses no addEventListener
, você está na verdade executando a função imediatamente, e passando o seu retorno como callback para o evento de clique. Por exemplo:
robotron.addEventListener("click", dizOi());
Nesse caso, a função dizOi() é executada imediatamente, e o que é retornado é passado como callback para o evento click. Como a função dizOi() não retorna nada, o callback do evento click ficará como undefined, ou seja, nada vai acontecer quando você clicar no elemento.
Para que a função dizOi() seja passada corretamente como callback para o evento click, basta passá-la sem os parênteses, como uma referência à função:
robotron.addEventListener("click", dizOi);
Dessa forma, a função dizOi() será chamada apenas quando o evento click ocorrer, e não imediatamente ao definir o listener.
Espero ter ajudado e bons estudos!
Um abraço.