JavaScript setTimeout () não vai esperar para executar?

Considere o seguinte exemplo:

<script type="text/javascript">
    function alertBox(){
        alert('Hello World!');
    }
    function doSomething(){
        setInterval(alertBox(), 5000); //This is for generic purposes only
    };
    function myFunction(){
        setTimeout(doSomething(),3000);
    };

    myFunction();
</script>

O que é que faz com que isso seja executadoIMEDIATAMENTE, em vez de esperar os 3 segundos definidos, bem como apenas executar o alertaUMA VEZ, em vez de nos intervalos programados de 5 segundos?

Obrigado por qualquer ajuda que você possa fornecer!

Pedreiro

questionAnswers(2)

yourAnswerToTheQuestion