¿Cómo funcionan las variables de JavaScript?

Sé que los vars de JavaScript apuntan a un valor:

var foo = true;
//... later 
foo = false;

Así que en ese ejemplo he cambiadofoo apuntando atrue ->foo apuntando afalse, pero si lo hago

for (var i=0; i<100; i++){
    var someVar = i;
}

¿Estoy creando una nueva var para cada iteración?

¿Hay alguna diferencia en las siguientes dos formas de hacer lo mismo?

var myvar;
for (var i=0; i<100; i++){
    myvar = i;
}

for (var i=0; i<100; i++){
    var myvar = i;
}

Si es así, ¿por qué?

Respuestas a la pregunta(5)

Su respuesta a la pregunta