代码之家  ›  专栏  ›  技术社区  ›  Dmitry Rastorguev

在JavaScript中无限打印到控制台值,介于到整数之间[重复]

  •  0
  • Dmitry Rastorguev  · 技术社区  · 7 年前

    我想安慰一下。使用JavaScript以几秒钟的小延迟无限地记录1到5之间的值。我正在尝试运行以下代码,但它在打印1后停止。

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

    是否可以使用 setTimeout 作用

    3 回复  |  直到 7 年前
        1
  •  1
  •   Derek Brown Onga Leo-Yoda Vellem    7 年前

    var z=0; 
    setInterval(function() { 
      if (z==6) {z=0};
      z+=1;
      console.log(z);
    }, 2000);
        2
  •  0
  •   Benjamin Ashbaugh    7 年前

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

    var z=0; 
    setInterval(function() { 
    if (z==6) {z=0};
    z+=1;
    console.log(z);
    }, 2000);
    
        3
  •  0
  •   Nick    7 年前

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

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