El problema que tiene el siguiente código es que determino el índice del array desde la posición [1], pero los array comienzan desde la posición [0], por lo tanto, el array de héroes tiene los siguientes valores en sus índices: heroes[0] = "Superman", heroes[1] = "Thor", heroes[2] = "Barman", heroes[3] = "Mujer Maravilla".
La forma correcta sería de la siguiente manera:
//Cambiamos el valor i, i = 0;
var heroes = ["Superman", "Thor", "Batman", "Mujer Maravilla"];
for( var i = 0; i < heroes.length; i++) {
console.log(heroes[i]);
}