gpt4 book ai didi

javascript - 在指定的等待时间后运行 javascript

转载 作者:行者123 更新时间:2023-12-03 12:42:56 26 4
gpt4 key购买 nike

我有一个如下所示的 JavaScript 代码列表

javascript: alert("hi1");
javascript: alert("hi2");
javascript: alert("hi3");
javascript: alert("hi4");
...
javascript: alert("hi100")

我想运行第一行,然后等待特定时间。然后运行第二行并等待特定时间。并运行第三行...直到最后。

有人帮助我吗?

谢谢!!!

最佳答案

JavaScript 是单线程且基于事件的。它有一个调用您的代码的事件循环,然后在您的代码返回之前不会运行任何其他操作。

这意味着您不能在两个语句之间“等待”,因为在您等待时它仍然会阻止任何其他代码运行。相反,您必须稍后安排一个新事件,将其余代码作为单独的函数执行,然后返回到事件循环。

实际上,alert 函数确实会阻止一切操作,直到您关闭警报,这就是它只应用于真正严重问题的原因之一。

使用 setTimeout 函数在特定时间完成后安排某些事情。尝试这个来模拟您的示例:

var counter = 0;
function loop() {
counter += 1;
alert("hi" + counter);
if (counter < 100) {
setTimeout(loop, 1000); // Wait one second (1000 ms), then run again.
}
}
loop();

这里我假设警报之间的时间始终相同(1 秒)。如果它是一个取决于计数器的简单公式,则该示例应该很容易修改。

您还可以使用 setInterval 启动重复计时器,以固定时间间隔触发计时器事件。在本例中,我没有使用它,因为 alert 调用实际上确实让一切都等待,并且我们希望计时器仅在警报解除时启动。

作为旁注,行前不需要“javascript:”。最有可能的是,您永远不必在任何地方编写“javascript:”。

关于javascript - 在指定的等待时间后运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23465766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com