Why setTimeout() is not working with empty function

Why setTimeout() is not working with empty function

This one is waiting for 3 secs.

setTimeout(function(){alert("Hello")}, 3000);


But if i try like this it is not at all waiting:

setTimeout(function(){}, 3000);

alert("Hello");

My question is Why setTimeout() is not working with empty function?