我有一些如下的JavaScript代码:
function statechangedPostQuestion()
{
//alert("statechangedPostQuestion");
if (xmlhttp.readyState==4)
{
var topicId = xmlhttp.responseText;
setTimeout("postinsql(topicId)",4000);
}
}
function postinsql(topicId)
{
//alert(topicId);
}
我收到topicId
未定义的错误,在使用该setTimeout()
功能之前,一切都在工作。
我希望postinsql(topicId)
一段时间后调用我的函数。我该怎么办?
setTimeout是WHAT WG定义的DOM的一部分。
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html
您想要的方法是:
显然,IE10支持额外的参数。另外,您可以使用
setTimeout(postinsql.bind(null, topicId), 4000);
,但是传递额外的参数会更简单,这是可取的。历史事实:在VBScript时代,在JScript中,setTimeout的第三个参数是语言,为字符串,默认为“ JScript”,但可以选择使用“ VBScript”。https://docs.microsoft.com/zh-cn/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa741500(v%3Dvs.85)