Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre a propriedade onclick no botão.

Deu pra entender que se a função "verifica( )" estiver com parênteses, ou seja, sendo invocada na atribuição ao "button.onclick" ela será disparada sempre, gerando um comportamento inesperado. Porém, eu não consegui pegar muito bem o motivo de, nesse caso, essa função precisar ser escrita sem parênteses para somente depois disso ser disparada pelo clique no botão. Me ajudem >.<

1 resposta
solução!

Olá Roberto, tudo bem?

O que ocorre é que quando executamos:

button.onclick = verifica();

Estamos informando nosso navegador para iniciar a função "verifica" 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 da função.

Já neste caso:

button.onclick = verifica;

Estamos explicitamente dizendo que somente ao executarmos o evento onclick no nosso botão ele executará a instrução atribuída a ele, ou seja, a própria função que é o valor que está sendo passado.

Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!