Não consegui descobrir o que ocasiona o loop infinito, se na função "while" tem o incremento do contador.
<meta charset="UTF-8">
<h1>Todos os números entre 30 a 40, exceto 33 e 37!</h1>
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var contador = 30
while(contador <=40){
if(contador !=33 && contador != 37){
mostra(contador);}
contador = contador+1
pulaLinha();
}mostra("FIM")
</script>