JavaScript variable alcance dentro de bucle

¿Cómo mantengo el acceso a lai Variable dentro de mi bucle para abajo? Estoy tratando de aprender, no solo de obtener la respuesta, por lo que un poco de explicación sería muy útil. ¡Gracias!

var el, 
    len = statesPolyStrings.length;

for (var i = 0; i < len; i++) {
    el = document.getElementById(statesPolyStrings[i]);

    google.maps.event.addDomListener(el, 'mouseover', function() {
        $("#"+statesPolyStrings[i]).addClass("highlight");
        statesPolyObjects[i].setOptions({ strokeWeight: '2' });
    });
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta