Ois. No lugar do condicional IF para zerar o "contador" do índice de cores, usei o remainder (módulo), ou seja, o resto da divisão do contador por 3 (que é o número de cores propostas):
var cores =['blue','red','green'];
var indiceCores = 0;
function mudaCor() {
indiceCores = (indiceCores + 1) % 3;
return false;
}
O código ficou mais "limpo", porém resta uma dúvida...
Qual opção apresenta o menor custo computacional: o condicional ou a divisão? Parece-me que dividir é sempre mais trabalhoso, mas como a aritmética é entre inteiros talvez não seja o caso.
Obrigado.