Почему я не могу передать «window.location.reload» в качестве аргумента setTimeout?

Мне бы хотелось немного разобраться в ошибке, которую я вижу в Safari и Chrome со следующей строкой кода:

setTimeout(window.location.reload, 250);

Отчеты Chrome:
Uncaught TypeError: Illegal invocation

И Сафари:
TypeError: Type error

В FireFox код работает нормально. Кроме того, этот код прекрасно работает в каждом из трех браузеров:

setTimeout((function() {
  window.location.reload();
}), 250);

Chrome и Safari не имеют проблем с этим кодом:

var say_hello = function () { alert("hello") };  
setTimeout(say_hello, 250);  

Что особенного вwindow.location.reload что вызывает эту ошибку?

(не уверен, полезно ли это или нет, но здесьjsfiddle иллюстрирую это)

Ответы на вопрос(3)

Ваш ответ на вопрос