Chamando funções com setTimeout ()

Basta colocar ...

porque

setTimeout('playNote('+currentaudio.id+', '+noteTime+')', delay);

funciona perfeitamente, chamando a função após o atraso especificado, mas

setTimeout(playNote(currentaudio.id,noteTime), delay);

chama a função playNote, tudo ao mesmo tempo?

(esses setTimeout () s estão em um loop for)

ou, se minha explicação for muito difícil de ler, qual é a diferença entre as duas funções?

questionAnswers(6)

yourAnswerToTheQuestion