 <p>There is absolutely no difference. Try to run this code:</p> <pre><code>(function() { return setTimeout(function(){console.log(1)}, 500); })(); (function() { setTimeout(function(){console.log(2)}, 500); return; })(); </code></pre> <p><code>return</code> doesn't affect on setTimeout call in JS interpreter.</p>