Boa noite, Bruna! Como vai?
O trecho do código ao qual vc se refere é esse aqui:
while(contador <= 40) {
if( contador == 33 ) {
contador = contador + 1;
}
if(contador == 37) {
contador = contador + 1;
} else {
mostra(contador);
contador = contador + 1;
}
}
Veja que em ambos os casos é feito contador = contador + 1
! Sendo assim, quando o contador vale 33, o JS entra no primeiro if
e já altera o valor da variável contador
que passa a valer 34! Em seguida, o JS vai pro segundo if
e como o valor de contador
é 34, ele cai no else
imprimindo 34 na tela e depois fazendo contador = contador + 1
fazendo o valor de contador
passar a ser 35!
Depois disso, 36 é impresso!
Por fim, quando contador
passa a valer 37, o JS vai cair no segundo if
e fazer o já conhecido contador = contador + 1
, alterando o valor da variável contador
que passa a valer 38! Como caiu no if
o JS passa direto do else
não imprimindo nada e dá início à um novo ciclo do laço de repetição! Como dessa vez contador
vale 38, o JS cai somente no else
, mostrando 38 na tela e atualizando o valor da variável contador
para 39!
O resto é história...
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, minha aluna!