Eu gostaria de um esclarecimento (bem bobo até) que me ajudaria muito a compreender melhor não apenas o for( ), mas outras funções. Nesse caso, o código tem uma parte assim:
for( var posicao = 0; posicao < ingredientes.length; posicao++) {
if( ingredientes[posicao] == ingrediente) {
existe = true;
break;
}
}
if (existe == false) {
ingredientes.push(ingrediente);
contador++
}
A minha dúvida é: por que a chave "{ }" do for( ) fecha antes do segundo if ( )? Os dois if ( ) não deveriam estar "dentro" das chaves do for( ) para o programa funcionar? Eu errei na primeira vez por que botei os dois if( ) "dentro" da chave do for( ), como abaixo:
for( var posicao = 0; posicao < ingredientes.length; posicao++) {
if( ingredientes[posicao] == ingrediente) {
existe = true;
break;
}
if (existe == false) {
ingredientes.push(ingrediente);
contador++
}
}
Nesse caso, o programa abre o prompt perguntando quantos ingredientes são, depois fica repetindo o prompt "Informe o ingrediente 1" em loop eterno. Tentei usar o "else" ao invés de outro if( ), mas o resultado foi o mesmo.
A minha grande dúvida em relação a isso é que eu pensava que, ao fechar a chave do for ( ), o programa parasse de rodar essa função, de forma que o segundo if ( ) não faria efeito para as variáveis.