Inicia-se a contagem de elementos de um array de 0, certo? No nosso caso, seria 2.
Eu jurei que isso iria dar certo, porém não deu. Aqui chega a ficar i = 3, sendo que cores.length é 2, não entendi o motivo do i = 3. Aqui está repetindo o verde uma vez.
function mudaCor() {
var cores = ['blue', 'red', 'green'];
if (i == cores.length){
i = 0;
} else {
i++;
}
console.log(i);
return false;
}