title: Running string as function in javascript setTimeout?
body: <p>Why does this code work?</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>setTimeout("document.body.innerHTML = 'TEST'", 1000)</code></pre>
  </div>
  </div>
  </p>
  
  <p>Shouldn't it be?</p>
  
  <pre><code>setTimeout(function() {
      document.body.innerHTML = 'TEST'
  }, 1000)
  </code></pre>
  
  <p>How does <code>setTimeout</code> convert string to function?</p>