【问题标题】:Print to console values between to integers infinitely in JavaScript [duplicate]在JavaScript中无限打印到整数之间的控制台值[重复]
【发布时间】:2018-03-25 00:21:30
【问题描述】:

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

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

是否可以使用setTimeout 函数来实现?

【问题讨论】:

    标签: javascript loops settimeout infinite-loop


    【解决方案1】:

    您正在寻找 setInterval:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 与@Alexander 的回答相同——这是阻塞的,有问题。
        猜你喜欢
        • 2017-08-13
        • 2015-08-23
        • 1970-01-01
        • 2016-12-27
        • 2022-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-17
        相关资源
        最近更新 更多