Bom dia Lofeudo, como vai ?
Pode ser difícil a compressão mesmo, mas vamos por partes, tudo bem?
No caso do seu código, o fluxo é o seguinte: só iremos saber o valor do campo input, usando o input.value dentro da função verifica, pois este value do campo é ativado quando apertamos o botão para comparar, e este botão por sua vez, chama a função verifica.
"o professor diz no tempo 5:15 que se colocar alert(input.value) irá imprimir o valor."
O que ele disse sobre saber o valor com input.value está certo, porém, mesmo que você tente da forma como ele mostrou no minuto 5:15, irá imprimir um valor vazio, isto porque precisamos de algo para nos enviar/ativar o valor que há no input, no nosso caso, um botão.
Imagine uma pessoa chamada José que diz o seguinte:
- Estou com o valor aqui, alguém quer saber? Se quiser saber, aperta no botão "comparar valor" que irei enviar.
Caso contrário, não tem como José saber que alguém quer ver o valor, entende? Por isto que imprime vazio, então temos que sinalizar que queremos saber.
Sobre usar o "button.onclick =" diretamente, não há como, pois ele espera receber uma função em sua chamada. O que podemos fazer é usar o onclick diretamente, mas ele também chamará uma função, por exemplo:
<meta charset="UTF-8">
<input id="mostrar-valor"/>
<script>
var input = document.querySelector("input").onclick = function () {
alert(document.getElementById("mostrar-valor").value);
}
</script>
Neste caso, toda vez que eu clicar na caixa de texto, irá me apresentar o um alert com o valor dela. Observe que também preciso utilizar o .value
Em relação ao: document.getElementById("mostrar-valor").value eu digo para o meu código:
- procura para mim um uma tag que cujo o nome no id seja "mostrar-valor". Quando encontrar esta tag, me mostra o valor dela.
Resumindo: para sabermos o valor de algum input usando input.value, temos que mandar algum evento, seja ele apertar um botão, uma tecla, um clique ... para que nosso código saiba que há alguém querendo ver aquele valor e geralmente, isto é encapsulado dentro de uma função para que eu possa passá-la como referência ou chamá-la em um determinado ponto.
Espero ter ajudado a sanar suas dúvidas. Bons estudos!!!