Premetto che può benissimo sembrare una domanda stupida ma in effetti un problemino c'è...
Da quello che ho sempre studiato scrivere, per un ciclo for:
codice:
var counter = 0;
for (counter; counter<10; counter++) { .... }
equivale a:
codice:
var counter;
for (counter=0; counter<10; counter++) { .... }
Semplicemente nel secondo caso prima si dichiara la variabile e poi la si inizializza.
Correggetemi se sbaglio.
Se ho ragione, prendiamo due semplicissimi cicli for annidati:
codice:
var decine=0;
var unita=0;
for (decine; decine < 3; decine++) {
for (unita; unita < 10; unita++) {
document.write(decine + "" + unita + "
"); } }
codice:
var decine;
var unita;
for (decine=0; decine < 3; decine++) {
for (unita=0; unita < 10; unita++) {
document.write(decine + "" + unita + "
"); } }
Nel primo caso però il ciclo for esterno non passa alla seconda iterazione, cioè le decine non vengono incrementate, e di conseguenza vengono stampati solo i numeri da 00 a 09... provare per credere.
E' un mio errore di concetto ritenere le due sintassi uguali o è effettivamente normale questo comportamento?
PS: con PHP ho lo stesso problema.
Grazie.