延迟重定向页面

时间:2013-07-18 06:36:15

标签: javascript

我有一个简单的问题:

我注意到这两个代码之间存在差异:

function urlLogin()
{
  window.location = "http://crs.local";
}

setTimeout(urlLogin(),5000)

如果我使用此功能,我会立即重定向。

setTimeout(function(){window.location = "http://crs.local"},5000);

但是这个,它按预期工作。我只是想问两者之间的区别?

2 个答案:

答案 0 :(得分:3)

应该没有区别,两者都应该延迟5秒。你确定没有setTimeout(urlLogin(), 5000)吗?这似乎是一个常见的错误。

正确的方法是在你“纠正”问题之前你所拥有的:D:setTimeout(urlLogin, 5000),传递函数而不是调用它。

答案 1 :(得分:0)

你编写它的方式,就像urlLogin的输出是setTimeout的第一个参数的输入一样。第一个参数应该是函数,而不是函数的结果。

请改为尝试:

setTimeout(function() {
    urlLogin();
},2000);