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

[Projeto] MÃO NA MASSA: PROTEÇÃO NA ENTRADA DE VALORES

A estrutura na proteção de valores eu fiz correto:

 let numero = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);
    
    let diferenca = ate-numero+1;

    if(numero>diferenca || de >= ate){
        alert("Revise os campos")
        reiniciar();

Porém continuava gerando o número ou até mesmo travava, ao pesquisar no fórum ví que devia ser implementado o "return" no final do IF, assim:

 if(numero>diferenca || de >= ate){
        alert("Revise os campos")
        reiniciar();
        return;

Até funcionou mas não entendi o que ele está executando nesse caso, alguém pode me ajudar?

3 respostas
solução!

Bom dia, João.

Muito bem! O fluxo é exatamente o mesmo de antes, mas ao implementar o return; no final do if, ele sai da função, encerrando a execução daquele script.

Entendi, só tinha tido contato com o return; dentro de funções por enquanto, onde ele servia para o determinado valor né? Neste caso, o return serve como uma espécia de stop; quando dentro do while, correto?

Exatamente, João. O return dentro de um script sai do script que está sendo rodado, seja uma função ou um procedimento (procedimento é quando não retorna valor), então, nesse caso, ele sai do while. Mas, também poderia ser feito o uso do break; que quebra o loop onde o código está. A diferença é que se encontrar um break; ele sai do loop, e continua a execução na próxima linha após o fechamento do loop. Mas se for o return, ele para a execução e não lê mais nada.