Javascript Chrome控制台

时间:2018-01-22 22:21:12

标签: javascript while-loop google-chrome-console

我试图在Chrome控制台中使用Javascript创建一个循环,它始终执行相同的功能。相反,它不输出任何东西,它实际上只是增加了Chromes的内存大小,直到它崩溃。关于这里出了什么问题的任何建议?

while(true){
    window.setTimeout(function (){
        console.log("Hello");
    }, 4000)}

1 个答案:

答案 0 :(得分:0)

您正在创建大量setTimeout个事件,所有这些事件都会立即快速创建,并计划在创建后的4000毫秒内调用。

好像你正在寻找.setInterval()来执行连续调用。

window.setInterval(function() {
  console.log("Hello");
}, 4000);

要使用setTimeout执行此操作,您仍然不会使用任何类型的命令循环。在运行时,您将为回调设置另一个setTimeout

window.setTimeout(function f() {
  console.log("Hello");
  setTimeout(f, 4000);
}, 4000);

我给回调函数命名为f,以便它可以用于下一个计时器。

通常,您不会“暂停”您的脚本。您可以安排稍后完成的事情,并允许代码在此之前继续运行。这就是你遇到问题的原因。计划的计时器没有暂停任何内容,因此循环只是保持全速运行。