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

tela.onclick = exibeAlerta; / exibeAlerta(evento);

Pelo que eu entendi , "tela.onclick" faz com que o browser aguarde a ação do usuário no elemento "tela". Esta ação é específica : clique do mouse. Qdo a ação é executada (o usuario clicou), o próprio browser gera o conjunto de dados do PointerEvent que aparecem no "Console" e executa a função exibeAlerta. Neste ponto se a função exibeAlerta tem parametro , o browser automaticamente atribui o conjunto de dados ao parametro e pode-se trabalhar com esses dados dentro da função exibeAlerta.

Minha dúvida : faz sentido a função exibeAlerta retornar algo para tela.onclick ?

3 respostas
solução!

Oi Hu Chia Fo

Excelente é isso mesmo.

Agora em relação ao retorno não faz sentido a função exibeAlerta retornar algo para o onclick ele não irá repassar o que você retornar, o que está acontecendo ai é só uma referência que você está passando para uma propriedade(onclick) que em algum momento ela será chamada.

Aqui está um exemplo simples do que chamamos de callback:

<script>
  function exibeAlerta() {
    alert('este é meu alerta');
  }

  function quandoClicar(callback) {
    // Aqui é uma função que em algum momento vai chamar o a função que você passou no seu caso é o exibeAlerta

    callback();
  }

  quandoClicar(exibeAlerta);
</script>

Se a sua dúvida é outra me informe fazendo favor.

Tudo bem Guilherme ? Mudei um pouco o seu código e testei.

<script>
    function exibeAlerta(mens) {
      alert(mens);
    }

    function quandoClicar(mens, func_callback) {
      // Aqui é uma função que em algum momento vai chamar o a função que você passou no seu caso é o exibeAlerta
      func_callback(mens);
    }

    var mens = 'Este é meu alerta !';
    quandoClicar(mens, exibeAlerta);

</script>

Na chamada da função quandoClicar(mens, exibeAlerta); , não tenho como passar parametro para a função exibeAlerta , então passo para quandoClicar (mens) e ai na definição da função quandoClicar uso o recurso do callback para executar exibeAlerta com parametro. Vou fazer mais testes para ver as possibilidades do callback !

Obrigado !

Oi Hu Chia Fo

O javascript trabalha muito com callback, se você entender bem a ideia, facilitará muito na sua evolução na carreira.

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.