Bruno, declarou em seu código que o .length com <= então estava contando como se tivesse com 4 elementos (1 á 4). Só que em j.s as Arrays começam com 0 como 1 elemento (0 á 3).
var letras = ['A', 'B', 'C', 'D'];
for( var i = 0; i < letras.length; i++ ) {
alert(letras[i]);
}