打印控制台之间的值无穷无尽的JavaScript

问题描述:

我想console.log无限的数值介于1和5之间,使用JavaScript的时间延迟几秒钟。我试图运行下面的代码,但它停止打印1.打印控制台之间的值无穷无尽的JavaScript

var z = 0 
 
    setTimeout(function() { 
 
     if (z==6) {z=0}; 
 
     z+=1; 
 
     console.log(z); 
 
    }, 2000);

是否有可能实现这个使用setTimeout功能后?

您正在寻找的setInterval:

var z=0; 
 
setInterval(function() { 
 
    if (z==6) {z=0}; 
 
    z+=1; 
 
    console.log(z); 
 
}, 2000);

的setTimeout()只是执行函数一次。您需要使用setInterval():

var z=0; 
setInterval(function() { 
if (z==6) {z=0}; 
z+=1; 
console.log(z); 
}, 2000); 

这是一个潜在的解决方案。它没有“无限”地实现,所以浏览器不会死亡,但是你可以根据自己的喜好增加我的想法。

for (let i = 0; i < 100; i++) { 
    setTimeout(function() { 
    console.log(i % 5 + 1); 
    }, 2000 * i); 
} 
+1

同@亚历山大的答案 - 这是阻塞,是有问题的。 –