Usando cor = cores[k % cores.length]
, dá pra suprimir o uso de condicional.
var tela = document.querySelector('canvas')
var pincel = tela.getContext('2d')
var cores = ['blue', 'red', 'green'] // lista de cores
var k = 0 // seletor de cores. Inicialmente seleciona a primeira cor da lista
var cor = cores[k] // cor do pincel
pincel.fillStyle = 'grey'
pincel.fillRect(0, 0, 600, 400)
function desenhaCirculo(evento) {
var x = evento.pageX - tela.offsetLeft
var y = evento.pageY - tela.offsetTop
pincel.fillStyle = cor
pincel.beginPath()
pincel.arc(x, y, 10, 0, 2*Math.PI)
pincel.fill()
}
// muda a cor selecionada
function mudaCor() {
cor = cores[k % cores.length]
k++
return false
}
tela.onclick = desenhaCirculo
tela.oncontextmenu = mudaCor