1

我有一个快速的问题:

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

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

setTimeout(urlLogin(),5000)

如果我使用它,我会立即被重定向。

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

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

4

2 回答 2

3

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

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

于 2013-07-18T06:37:40.787 回答
0

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

试试这个:

setTimeout(function() {
    urlLogin();
},2000);
于 2013-07-18T06:43:54.100 回答