el codigo que pones basicamente lo que esta haciendo es
recorriendo uno a uno cada caracteres del texto ingresado
y cada vez que recorre un caracteres, lo compara si es un espaci, un arroba o un punto,
y entonces se tiene tres variables, una para el espacio otra para el arroba y otra para el punto
al final lo que se hace es comprar si esas variables son diferentes a cero , diferente de 1 o menor a 1 y entonces asi detectar si el email esta bien formado.
te dejo un enlace donde se explica el funcionamiento del for
http://www.webtaller.com/construccio...javascript.php
un enlace del funcionamiento del if
http://www.desarrolloweb.com/articulos/544.php
y un enlace del funcionamiento de los operadores de comparación
http://www.webestilo.com/javascript/js06.phtml