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