javascript - 一个数每隔一秒执行加1并打印出来,一直加到50停止,用js如何实现?
迷茫
迷茫 2017-04-11 13:19:52
0
6
743

如题,用到闭包,和setTimeout函数怎么解决?
也欢迎php的实现

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all (6)
Peter_Zhu
var count = (function() { var timer; var i = 0; function change(tar) { i++; console.log(i); if (i === tar) { clearTimeout(timer); return false; } timer = setTimeout(function() { change(tar) }, 1000) } return change; })() count(50)
    Ty80
    (function(){ var i=0; var end=setInterval(function(){ if(i>=50){ clearInterval(end); } console.log(i); i++; },1000); })()
      左手右手慢动作

      setTimeout的话,就不需要clear了。

      void function loop(i) { if (i <= 50) { console.log(i); setTimeout(loop.bind(this, ++i), 1000); } }(1);

      好像没用到闭包,那么这样吧:

      void function loop(i) { if (i <= 50) { console.log(i); setTimeout(function() {loop(++i);}, 1000); } }(1);

      OK,这样就有闭包了。

        刘奇

        function Count(){

        var counter=0; function addCount(){ counter++; console.log(counter); if(counter==50){ return false; } setTimeout(addCount,1000); } return addCount; } var myCount=new Count(); myCount();
          黄舟
          var task = function (){ var val = 0; var target = 50; (function add(){ val++; if(val === target) return; setTimeout(add, 1000); })(); }
            Peter_Zhu

            你这个停不下来吧

              Latest Downloads
              More>
              Web Effects
              Website Source Code
              Website Materials
              Front End Template
              About us Disclaimer Sitemap
              php.cn:Public welfare online PHP training,Help PHP learners grow quickly!