1. contador (uma variável);
2. condição (uma condição, da variável, um sinal e um valor ou outra variável);
3. início.
Um script fácil para entender isso é para pular 10 linhas. Ao invés de ficar digitando <br><br><br><br><br><br>... dez vezes, um loop resolveria isso facilmente:
<script language="javascript">
<!--
for (i=1; i<=10; i++)
document.write("<br>");
//-->
</script>
Um loop também pode interagir com outro script. Olhe um interessante que vi num livro:
<script language="javascript">
<!--
function farenheit(cel) {
faren=cel*9/5+32;
return faren;
}
//-->
</script>
<script language="javascript">
<!--
for (cel=0; cel<=100; cel+=10)
document.write(cel+"C = "+farenheit(cel)+"F<br>");
//-->
</script>
Nesse script, o loop for, foi criada a variável cel. Na condição, indicamos uma condição que retornará true, que pulará de 10 em 10.
Um loop for é executado assim: ele vai fazendo o comando, no caso document.write até ficar na condição false, que irá parar.
Tem um outro exemplo nesse livro que é muito interessante. Usando o mesmo primeiro script (de cálculo de graus farenheit a partir de c graus Celsius), criarei uma tabela que exibirá esses valores, de 0 a 100, mas mudando a cor da tabela automaticamente com os comandos de condição IF e ELSE.
<script language="javascript">
<!--
function farenheit(cel) {
faren=cel*9/5+32;
return faren;
}
//-->
</script>
<script language="javascript">
<!--
document.write("<table border=1");
for (cel=0; cel<=100; cel+=10) {
if ((cel>=0) && (cel<=19))
fundo="Blue";
else if ((cel>=20) && (cel<=25))
fundo="Orange";
else
fundo="Red";
document.write("<tr>");
document.write("<td bgcolor="+fundo+">"+cel+"</td>");
document.write("<td bgcolor="+fundo+">"+farenheit(cel)+"</td>");
document.write("</tr>");
}
document.write("</table>");
//-->
</script>
Claro que essa é apenas uma visão inicial do loop for. Espero que futuramente eu possa escrever sobre os outros loops, que não são também difíceis, mas este loop e o loop WHILE são os mais usados.
Com sinceras palestrinas,
WITHOUT A NICK
Edição feita por: Without a Nick, 09/12/2003, 16:44.