我喜歡的一些見解,我在Safari和Chrome上看到與下面的代碼行的錯誤:爲什麼我無法將「window.location.reload」作爲參數傳遞給setTimeout?
setTimeout(window.location.reload, 250);
鉻報道:
Uncaught TypeError: Illegal invocation
和Safari:
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說明這一點)
使對象的任何其他功能相同完美的感覺。很高興知道。任何猜測爲什麼它在Firefox中起作用? – goggin13
@ goggin13:有趣...不確定。但肯定這不是便攜式的。 –
對,只是好奇。感謝'.bind'的解釋,非常翔實! – goggin13