Escopo variável JavaScript dentro de loop

Como faço para manter o acesso aoi variável dentro do meu loop abaixo? Estou tentando aprender, não apenas obter a resposta, então um pouco de explicação seria muito útil. Obrigado!

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' });
    });
}

questionAnswers(3)

yourAnswerToTheQuestion