我有一个简单的问题:
我注意到这两个代码之间存在差异:
function urlLogin()
{
window.location = "http://crs.local";
}
setTimeout(urlLogin(),5000)
如果我使用此功能,我会立即重定向。
setTimeout(function(){window.location = "http://crs.local"},5000);
但是这个,它按预期工作。我只是想问两者之间的区别?
答案 0 :(得分:3)
应该没有区别,两者都应该延迟5秒。你确定没有setTimeout(urlLogin(), 5000)
吗?这似乎是一个常见的错误。
正确的方法是在你“纠正”问题之前你所拥有的:D:setTimeout(urlLogin, 5000)
,传递函数而不是调用它。
答案 1 :(得分:0)
你编写它的方式,就像urlLogin的输出是setTimeout的第一个参数的输入一样。第一个参数应该是函数,而不是函数的结果。
请改为尝试:
setTimeout(function() {
urlLogin();
},2000);