Domanda di colloquio di Foundation Source

Qual a diferença entre setImmediate, setTimeout e setInterval?