Почему я не могу передать «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 иллюстрирую это)