• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – 一个数每隔一秒执行加1并打印出来,一直加到50停止,用js如何实现?

php 搞代码 4年前 (2022-01-23) 24次浏览 已收录 0个评论
文章目录[隐藏]

如题,用到闭包,和setTimeout函数怎么解决?@本文来源gaodai$ma#com搞$代*码6网搞代gaodaima码
也欢迎php的实现

回复内容:

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

<code>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)</code>

<code>(function(){    var i=0;    var end=setInterval(function(){        if(i>=50){            clearInterval(end);        }        console.log(i);        i++;    },1000);})()</code>

setTimeout的话,就不需要clear了。

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

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

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

OK,这样就有闭包了。

function Count(){

<code>    var counter=0;    function addCount(){        counter++;        console.log(counter);        if(counter==50){            return false;        }        setTimeout(addCount,1000);    }    return addCount;}var myCount=new Count();myCount();</code>

<code>var task = function (){    var val = 0;    var target = 50;        (function add(){        val++;        if(val === target)            return;                    setTimeout(add, 1000);        })();}</code>

你这个停不下来吧


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – 一个数每隔一秒执行加1并打印出来,一直加到50停止,用js如何实现?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址