Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有提示符()的循环_Javascript_Loops_Prompt - Fatal编程技术网

Javascript 使用带有提示符()的循环

Javascript 使用带有提示符()的循环,javascript,loops,prompt,Javascript,Loops,Prompt,我试图从用户那里获得五个输入 我知道在下面的代码中这样的循环中调用函数会崩溃,因为所有提示符都会同时被调用 for(var i = 0; i < 5; i++) { prompt(); } 有什么解决办法?我看到其他代码段使用了超时,每个函数调用之间的等待时间设置为一定量,但是当用户可以花尽可能多的时间输入提示时,代码是否仍然有效 我知道在下面的代码中这样的循环中调用函数会崩溃,因为所有提示符都会同时被调用 这里的情况并非如此,因为prompt是一个阻塞函数,就像alert一样。

我试图从用户那里获得五个输入

我知道在下面的代码中这样的循环中调用函数会崩溃,因为所有提示符都会同时被调用

for(var i = 0; i < 5; i++) {
    prompt();
}
有什么解决办法?我看到其他代码段使用了超时,每个函数调用之间的等待时间设置为一定量,但是当用户可以花尽可能多的时间输入提示时,代码是否仍然有效

我知道在下面的代码中这样的循环中调用函数会崩溃,因为所有提示符都会同时被调用

这里的情况并非如此,因为prompt是一个阻塞函数,就像alert一样。即,迭代或更确切地说,代码执行仅在提示窗口关闭后继续

可以将所有值添加到数组中,如下所示:

var inputs = [];
for(var i = 0; i < 5; i++) {
    inputs.push(prompt());
}
console.log(inputs);
这是否是最好的用户体验是另一个问题

我知道在下面的代码中这样的循环中调用函数会崩溃,因为所有提示符都会同时被调用

这里的情况并非如此,因为prompt是一个阻塞函数,就像alert一样。即,迭代或更确切地说,代码执行仅在提示窗口关闭后继续

可以将所有值添加到数组中,如下所示:

var inputs = [];
for(var i = 0; i < 5; i++) {
    inputs.push(prompt());
}
console.log(inputs);

这是否是最好的用户体验是另一个问题…

无需超时,提示将等待用户输入ok,在其余代码执行之前取消,这意味着下一个提示将在单击ok之后出现。超时只有在人们不意外地连续按两次“确定”并看到提示出现时才有用。

无需超时,提示将等待用户输入“确定”,然后在其余代码执行之前取消,这意味着单击“确定”后将出现下一个提示。超时只有在人们不意外地连续按两下ok并看到提示出现时才有用。

回答得好。请注意,如果我在同一个循环中访问一个有5个提示的网站,我会尽快关闭浏览器。想象一下,有5个以上的提示让我的大脑崩溃。我尝试使用你的代码并在repl.it中运行它,但是在第一次输入后它被挂起并冻结。有什么我遗漏的吗@feedobesebison:可能是repl.it的问题。很好的回答。请注意,如果我在同一个循环中访问一个有5个提示的网站,我会尽快关闭浏览器。想象一下,有5个以上的提示让我的大脑崩溃。我尝试使用你的代码并在repl.it中运行它,但是在第一次输入后它被挂起并冻结。有什么我遗漏的吗@feedobesebison:可能是repl.it的问题。在这里工作很好: