有没有类似 jQuery 的 JavaScript 方法delay()
or wait()
(将脚本的执行延迟特定的时间)?
只是为了补充其他人所说的内容setTimeout
:
如果以后想调用带参数的函数,就需要设置一些匿名函数调用。
您需要将该函数作为参数传递,以便稍后调用它。实际上,这意味着名称后面没有括号。下面将立即调用警报,并显示“Hello world”:
var a = "world";
setTimeout(alert("Hello " + a), 2000);
要解决此问题,您可以输入函数名称(如 Flubba 所做的那样),也可以使用匿名函数。如果需要传递参数,那么就必须使用匿名函数。
var a = "world";
setTimeout(function(){alert("Hello " + a)}, 2000);
a = "Stack Overflow";
但是如果您运行该代码,您会注意到 2 秒后弹出窗口会显示“Hello Stack Overflow”。这是因为变量 a 的值在这两秒内发生了变化。要让它在两秒后说“Hello world”,您需要使用以下代码片段:
function callback(a){
return function(){
alert("Hello " + a);
}
}
var a = "world";
setTimeout(callback(a), 2000);
a = "Stack Overflow";
它将等待 2 秒,然后弹出“Hello world”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)