Molti programmatori non conoscono questo costrutto che è proprio di JavaScript (da non confondere con il foreach di altri linguaggi), eppure è utilissimo per ricavare quali sono le proprietà di un oggetto.
La sintassi è:
for (<proprietà> in <oggetto>) {
//istruzioni
}
dove proprietà è una "variabile-contenitore" che stiamo creando al volo.
Questo costrutto può essere utilizzato anche per ricavare le proprietà di un determinato oggetto della pagina (nell'esempio un form):
<form name="mioForm">
<input type="button" NAME="miotesto" value="mio campo di prova">
</form>
<script type="text/javascript">
for (prop in document.mioForm) {
document.write(prop+"<br/>");
}
</script>
da vedere con diversi browser per apprezzarne l'utilità.
Un codice di questo genere l'avevamo utilizzato nel descrivere gli eventi JavaScript, per ricavare i vari eventi che si applicano a un livello.
Il for... in
può essere utilizzato anche per scorrere gli elementi di un array, se interrogato con la giusta sintassi:
<script type="text/javascript">
alunni = new Array("Aldo","Giovanni","Giacomo","Mario","Gianni","Monica");
for (prop in alunni) {
document.write(alunni[prop]+"<br/>");
}
</script>