Javascript 如何使循环在JS中的特定时间段内执行某些操作

Javascript 如何使循环在JS中的特定时间段内执行某些操作,javascript,function,time,Javascript,Function,Time,我对JavaScript非常陌生,所以在回答我的问题时请记住这一点 我正在尝试制作一些东西,它在特定的时间范围内向用户提问。使用window.prompt()方法提问。我在一个名为askquestions()的函数中执行了一个do-while循环,如您所见: var randomNo1; var randomNo2; var time; do { randomNo1 = Math.random() * 9; randomNo1 = Math.round(randomNo1); ra

我对JavaScript非常陌生,所以在回答我的问题时请记住这一点

我正在尝试制作一些东西,它在特定的时间范围内向用户提问。使用
window.prompt()
方法提问。我在一个名为
askquestions()
的函数中执行了一个
do-while
循环,如您所见:

var randomNo1;
var randomNo2;
var time;

do {
  randomNo1 = Math.random() * 9;
  randomNo1 = Math.round(randomNo1);
  randomNo2 = Math.random() * 9;
  randomNo2 = Math.round(randomNo2);
  window.prompt("What is " + randomNo1 + " + " + randomNo2 + "?")
} while (time == 0);
我怎样才能使30秒后的
time=1

提前感谢您的帮助。

您可以使用

date = new Date();
mil = date.getTime();
您可以在代码开始时进行比较,然后在循环中得到一个更新的。如果两者之间的时间大于若干毫秒,则可以退出循环(
while)(curDate.getTime()-mil您可以使用:

document.setTimeout("str js code/func name call",millisec);
document.setTimeout("time=1;",30000);
延迟执行一次js代码

对于您的规格,出于其他计时目的,可能需要以下方法:

document.setInterval("js code /func name call",millisec);
间歇执行


此外,强烈建议不要“等待”在您的js代码中提供一些计时服务,这可能会导致浏览器将此线程视为没有响应的线程

时间
在您的代码中是
未定义的
。使用获取当前时间,向其添加30秒,然后在
while
条件中根据当前时间再次测试。谢谢,我将在明天进行尝试user3829943的响应比我的好。Javascript不喜欢while循环运行太长时间。