title: Why can't I pass "window.location.reload" as an argument to setTimeout?
body: <p>I would love some insight into the error I am seeing in Safari and Chrome with the following line of code:</p>
  
  <p><code>setTimeout(window.location.reload, 250);</code>  </p>
  
  <p>Chrome reports:<br>
  <code>Uncaught TypeError: Illegal invocation</code></p>
  
  <p>And Safari:<br>
  <code>TypeError: Type error</code>  </p>
  
  <p>In FireFox, the code runs fine.  Also, this code runs fine in each of the three browsers:  </p>
  
  <pre><code>setTimeout((function() {
    window.location.reload();
  }), 250);
  </code></pre>
  
  <p>Chrome and Safari have no issues with this code:  </p>
  
  <pre><code>var say_hello = function () { alert("hello") };  
  setTimeout(say_hello, 250);  
  </code></pre>
  
  <p>What is special about <code>window.location.reload</code> that causes this error?</p>
  
  <p>(not sure if it's useful or not, but here's a <a href="http://jsfiddle.net/goggin13/SQ7az/5/" rel="noreferrer">jsfiddle</a> illustrating this)</p>