我想使用JavaScript在几秒钟内无限制地控制1到5之间的log.log值。我试图运行以下代码,但它在打印1后停止。
var z = 0
setTimeout(function() {
if (z==6) {z=0};
z+=1;
console.log(z);
}, 2000);
是否可以使用setTimeout
函数实现此功能?
答案 0 :(得分:1)
您正在寻找setInterval:
var z=0;
setInterval(function() {
if (z==6) {z=0};
z+=1;
console.log(z);
}, 2000);

答案 1 :(得分:0)
setTimeout()只执行一次该函数。你需要使用setInterval()。:
var z=0;
setInterval(function() {
if (z==6) {z=0};
z+=1;
console.log(z);
}, 2000);
答案 2 :(得分:0)
这是一个潜在的解决方案。它没有实现"无限"所以浏览器不会死,但你可以根据自己的喜好增加我。
for (let i = 0; i < 100; i++) {
setTimeout(function() {
console.log(i % 5 + 1);
}, 2000 * i);
}