title: Why copy function is not working inside setTimeout?
body: <p>Chrome complains when I try to <code>copy</code> inside <code>setTimeout</code>.</p>
  
  <pre><code>setTimeout(function () { copy('a') }, 0)
  
  Uncaught ReferenceError: copy is not defined
      at &lt;anonymous&gt;:1:26
  </code></pre>
  
  <p>It doesn't work with the <code>window</code> scope as well.</p>
  
  <pre><code>setTimeout(function () { window.copy('a') }, 0)
  
  Uncaught TypeError: window.copy is not a function
  </code></pre>
  
  <p>Interestingly, if I keep the reference to <code>copy</code> and reuse it, it works</p>
  
  <pre><code>cc = copy;
  setTimeout(function () { cc('a') }, 0);
  </code></pre>
  
  <p>In Firefox, it doesn't throw any error, but it doesn't work even with the saved reference.</p>
  
  <p>Why <code>copy</code> function doesn't work inside <code>setTimeout</code>, is it a bug?</p>