• 【JavaScript】setinterval和setTimeout的区别


    计时器setTimeout()与setInterval()是原生JS很重要且用处很多的两个方法, 但很多人一直误以为是相同的功能: 间隔时间重复执行传入的句柄函数. 但实际上, 并非如此, 既然JS给出了两个不同的命名, 肯定有其迥异之处.
    先来看看两者JS手册及英文词典上的解释:
    JS手册»setTimeout() : 用于在指定的毫秒数后调用函数或计算表达式;
    英文释义»timeout() : 超时;暂时休息;工间休息;
    JS手册»setInterval() : 按照指定的周期(以毫秒计)来调用函数或计算表达式. 会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭;
    英文释义»interval() : 间隔;间距;幕间休息;
    不难看出, 只要我们仔细体会JS手册及命名释义, 就能很容易的区分开两者的区别. 简单的说, 两才的区别在于,setTimeout()方法是在等待指定时间后执行函数, 且只执行一次传入的句柄函数. setInterval()方法是每指定间隔时间后执行一次传入的句柄函数,循环执行直至关闭窗口或clearInterval().

    下面通过代码看一下却别:

     

     1 var timeout=function(){
     2     alert('等待2s后弹出,仅此一次!在等待时间内clearTimeout可停止执行!')
     3 }
     4 var interval=function(){
     5     alert('每2s循环弹出,直至clearInterval或关闭窗口!')
     6 }
     7 var input=document.getElementsByTagName('input');
     8 
     9 var clearTimeoutFun=null;
    10 var clearIntervalFun=null;
    11 
    12 input[0].onclick=function(){
    13     clearTimeoutFun=setTimeout(timeout,2000);
    14 }
    15 input[1].onclick=function(){
    16     clearTimeout(clearTimeoutFun);
    17 }
    18 input[2].onclick=function(){
    19     clearIntervalFun=setInterval(interval,2000);
    20 }
    21 input[3].onclick=function(){
    22     clearInterval(clearIntervalFun);
    23 }    

    动手才是真理,自己可以动手写一下。

     

    转载自 <a href="http://mrthink.net/js-settimeout-setinterval/" title="JS计时器setTimeout()与setInterval()方法的区别" rel="bookmark">JS计时器setTimeout()与setInterval()方法的区别@Mr.Think</a>

     

     

  • 相关阅读:
    重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
    阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!
    使用Velero Restic快速完成云原生应用迁移至ACK集群
    Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
    北京DAY1下午
    洛谷 P3041 [USACO12JAN] Video Game Combos
    Tyvj 1729 文艺平衡树
    bzoj 3238: [AHOI2013]差异
    bzoj 2957: 楼房重建
    bzoj 2660: [Beijing wc2012]最多的方案
  • 原文地址:https://www.cnblogs.com/wywnet/p/3420239.html
Copyright © 2020-2023  润新知