资讯专栏INFORMATION COLUMN

setInterval和setTimeout区别(验证码倒计时)

DangoSky / 3181人阅读

摘要:写了一个验证码倒计时的小来帮助记忆和区别和。获取验证码获取验证码重复循环计时,需要清除计时器获取验证码后重获倒计时只重复一次,计时需要反复调用获取验证码后重获如上代码所示,会自动重复,不会重复。可多用于延迟操作,多用于重复进行某操作。

写了一个验证码60s倒计时的小demo来帮助记忆和区别setInterval和setTimeout。

html

  
js
//setInterval重复循环计时,需要清除计时器 (clearInterval)
function getTime1(){
    var time1=60;
    var val="";

    codeTimes=setInterval(function() { 
        if(time1<=0){
            clearInterval(codeTimes);
            $("input#btn1").val("获取验证码btn1");
            $("input#btn1").attr("disabled",false);
        }else{
            time1--;
            val=time1+"后重获";
            $("input#btn1").val(val);
            $("input#btn1").attr("disabled",true);
        }
        
    },1000);
}

// setTimeout倒计时,只重复一次,计时需要反复调用

var time2=60;
function getTime2() { 
    if (time2 <= 0) { 
        $("input#btn2").val("获取验证码btn2");
        $("input#btn2").attr("disabled",false);
        time2 = 60; 
    } else { 
        time2--;
        val=time2+"后重获";
        $("input#btn2").val(val);
        $("input#btn2").attr("disabled",true);
        setTimeout(function() { 
            gettime() 
        },1000)
    } 
    
} 

1.如上代码所示,setInterval会自动重复,setTimeout不会重复。setInterval每隔指定的时间就执行对应的函数或代码,所以会使用到clearInterval来清除取消setInterval()设定的定时操作

2.而setTimeout只执行一次,所以,在进行计时操作的时候,需要重复调用函数。

3.setTimeout可多用于延迟操作,SetInterval多用于重复进行某操作。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/50211.html

相关文章

  • setIntervalsetTimeout区别(验证计时)

    摘要:写了一个验证码倒计时的小来帮助记忆和区别和。获取验证码获取验证码重复循环计时,需要清除计时器获取验证码后重获倒计时只重复一次,计时需要反复调用获取验证码后重获如上代码所示,会自动重复,不会重复。可多用于延迟操作,多用于重复进行某操作。 写了一个验证码60s倒计时的小demo来帮助记忆和区别setInterval和setTimeout。 html js //setInterva...

    刘福 评论0 收藏0
  • 2017拼多多前端笔试

    摘要:但是如果一个值不再用到了,引用次数却不为,垃圾回收机制却无法释放这块内存,从而导致内存泄漏。内存泄漏垃圾回收语言的内存泄漏主因是不需要的引用。常见内存泄漏意外的全局变量处理未定义变量的方式比较宽松未定义的变量会在全局对象创建一个新变量。 简答题: settimeout 与 setInterval的区别, 及对他们的内存的分析 区别 setTimeout是在一段时间后调用指定函数(仅一...

    Jioby 评论0 收藏0
  • 2017拼多多前端笔试

    摘要:但是如果一个值不再用到了,引用次数却不为,垃圾回收机制却无法释放这块内存,从而导致内存泄漏。内存泄漏垃圾回收语言的内存泄漏主因是不需要的引用。常见内存泄漏意外的全局变量处理未定义变量的方式比较宽松未定义的变量会在全局对象创建一个新变量。 简答题: settimeout 与 setInterval的区别, 及对他们的内存的分析 区别 setTimeout是在一段时间后调用指定函数(仅一...

    caiyongji 评论0 收藏0
  • 2017拼多多前端笔试

    摘要:但是如果一个值不再用到了,引用次数却不为,垃圾回收机制却无法释放这块内存,从而导致内存泄漏。内存泄漏垃圾回收语言的内存泄漏主因是不需要的引用。常见内存泄漏意外的全局变量处理未定义变量的方式比较宽松未定义的变量会在全局对象创建一个新变量。 简答题: settimeout 与 setInterval的区别, 及对他们的内存的分析 区别 setTimeout是在一段时间后调用指定函数(仅一...

    genefy 评论0 收藏0
  • JS 异步的实现

    摘要:由于引擎同一时间只执行一段代码这是由单线程的性质决定的,所以每个代码块阻塞了其它异步事件的进行。这意味着浏览器将等待着一个新的异步事件发生。异步的任务执行的顺序是不固定的,主要看返回的速度。 我们经常说JS是单线程的,比如node.js研讨会上大家都说JS的特色之一是单线程的,这样使JS更简单明了,可是大家真的理解所谓JS的单线程机制吗?单线程时,基于事件的异步机制又该当如何,这些知识...

    sihai 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<