Do not use for or while to realize the loop function (JavaScript)

1. Use regular and replace

 <script>
    var str = new Array(6).join("a"); //"aaaaaa"
    var i = 0;
    str.replace(/a/g, function() {
     
     
      console.log(i);
      i++;
    })
 </script>

2. Use setInterval to loop

  <script>
    var i = 0;
    var timer = setInterval(function() {
     
     
      console.log(i);
      i++;
      if (i == 5) {
     
     
        clearInterval(timer);
      }
    }, 0);
  </script>

3. Use setTimeout for recursion

  <script>
    var i = 0;
    function setInterval() {
     
     
      setTimeout(function() {
     
     
        console.log(i++);
        if (i == 5) {
     
     
          return;
        };
        setInterval();
      }, 1000);
    }
    setInterval();
  </script>

Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_45773503/article/details/113687610