为什么会这样,
setTimeout(function() { window.location.reload() }, 3000);
但这不是吗?
setTimeout(window.location.reload, 3000);
我收到以下错误:TypeError: 'reload' called on an object that does not implement interface Location.
答案 0 :(得分:1)
理论上可以。当你这样传递它时,它只是函数,没有它的执行上下文(this
)。由于函数(内部)使用this
,因此失败。您也可以通过console.log
注意到这一点。
解决方案是绑定上下文:
setTimeout(window.location.reload.bind(window.location), 3000);