Per quello che ho potuto constatare la differenza tra virgola e punto e virgola consiste nel fatto che con i while/for/if senza graffe il puntoevirgola; chiude il blocco mentre la virgola non lo chiude, discorso analogo per la dichiarazione di variabili. Ma non è affatto necessario mai, per lo meno non ho mai incontrato casi in cui dovessi specificarlo. Ovviamente, è chiaro, io scrivo un istruzione per riga.
esempio di sintassi:
codice:
var p=1, c=2, d=3
if (istruzione)
p*=4, c=Math.abs(c), d/=3
else
p/=3, c=p*d, d*=d
// ...