button.onclick = adivinhaNumero();
A linha de código acima está associando todo o código escrito na função adivinhaNumero() à button.onclick
. Já *adivinhaNumero
* estaria associando o cálculo, certo?
button.onclick = adivinhaNumero();
A linha de código acima está associando todo o código escrito na função adivinhaNumero() à button.onclick
. Já *adivinhaNumero
* estaria associando o cálculo, certo?
Olá Marcus, tudo bem?
Temos dois pontos a serem trabalhados aqui.
O que ocorre é que quando escrevemos:
button.onclick = adivinhaNumero();
Estamos informando ao nosso navegador para iniciar a função advinhaNumero
assim que for recarregada a página. Dessa forma, ele irá ignorar a atribuição feita ao evento onclick, porque estamos chamando uma função diretamente quando adicionamos () após o nome dessa função.
Dessa forma, temos que remover os ()
, o código ficará assim:
button.onclick = adivinhaNumero;
A partir disso, estamos explicitamente dizendo que somente ao clicarmos no nosso botão (evento onclick), ele executará a instrução atribuída a ele, ou seja, a própria função que é o valor que está sendo passado.
O adivinhaNumero
está se referindo ao ponto do código que encontra-se a declaração da função, onde dentro desta função estão contidas as instruções para serem executadas, como você citou, acredito que seja o cálculo para adivinhar o número.
Resumindo, no código button.onclick = adivinhaNumero;
podemos interpretar que a adivinhaNumero é uma função que faz uma instrução e essa instrução será executada ao clicarmos no botão, visto que a própria função é o valor que a variável está recebendo.
Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!