Comment on Dropbox is hiring a Web EngineerparentComments−sgk28416yI understand the scoping issue here, but the recursive solution is just all around better: function countdown(num) { if(num < 0) { return; } setTimeout(function() { alert(num); countdown(num - 1); }, 1000); } Note: I'm aware that the dropbox version shows the first alert without any delay, whereas this waits a second before showing anything. This is slightly different behavior, but arguably acceptable.−abstractbill16yYou can make the recursive solution work without any delay: function countdown(n) { if(n >= 0) { alert(n); setTimeout(function() {countdown(n-1);}, 1000); } }
Comments
I understand the scoping issue here, but the recursive solution is just all around better:
Note: I'm aware that the dropbox version shows the first alert without any delay, whereas this waits a second before showing anything. This is slightly different behavior, but arguably acceptable.You can make the recursive solution work without any delay: