El punto y coma en Javascript es perfectamente opcional, siempre que en una misma línea no tengas más que una sentencia. Esa sería la regla de oro, yo diría que la única regla que necesitas saber.
Por ejemplo:
var x = 1; x += 3; Es tan correcto como:
var x = 1 x += 3 Sin embargo, si estas dos sentencias estuvieran en la misma línea, entonces sí deberían llevar punto y coma:
var x = 1; x += 3 Dentro de un bloque se sigue la misma regla. Por ejemplo:
for(var x = 1; x <= 100; x++) { x += 10; alert(x); } Es tan correcto como:
for(var x = 1; x <= 100; x++) { x += 10 alert(x) } Pero si pones ambas líneas juntas, tienes que usar el punto y coma para separar las sentencias:
for(var x = 1; x <= 100; x++) { x += 10; alert(x) }