zoukankan      html  css  js  c++  java
  • JS中setInterval()和clearInterval()的使用以及注意事项

    setInterval(): 间隔指定的毫秒数不停地执行指定的代码,定时器

    clearInterval(): 用于停止 setInterval() 方法执行的函数代码

    使用方法:setInterval(code,millisec),两个参数都是必须的,第一个参数为要调用的函数或要执行的代码串。第二个参数为周期性执行或调用 code 之间的时间间隔,以毫秒计。

    clearInterval(id_of_setinterval),参数是必须的,为setInterval返回的ID值

    示例:

    <body>
      <button onclick="start()">按钮一</button>
      <button onclick="stop()">按钮二</button>
      <script type="text/javascript">
        var interval = null;//计时器
        var i = 0;
        function start() {//启动计时器函数
          if (interval != null) {//判断计时器是否为空
              clearInterval(interval);
              interval = null;
          }
        interval = setInterval(overs, 1000);//启动计时器,调用overs函数,
      }

      function overs() {
        i++;
        console.log(i);
      }

      function stop() {

        clearInterval(interval);
        interval = null;
      }
     </script>

    </body>

    在使用setInterval方法时,每一次启动都需要对setInterval方法返回的值做一个判断,判断是否是空值,若不是空值,则要停止定时器并将值设为空,再重新启动,如果不进行判断并赋值,有可能会造成计时器循环调用,在同等的时间内同时执行调用的代码,并会随着代码的运行时间增加而增加,导致功能无法实现,甚至占用过多资源而卡死奔溃。因此在每一次使用setInterval方法时,都需要进行一次判断。
    ————————————————
    版权声明:本文为CSDN博主「YDesire」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/YDesire/article/details/81124331

  • 相关阅读:
    luogu P3327 [SDOI2015]约数个数和
    生成函数
    luogu P4318 完全平方数
    SP5971 LCMSUM
    luogu P2522 [HAOI2011]Problem b
    UOJ #82. 【UR #7】水题生成器
    CF1147F Zigzag Game
    CF1106F Lunar New Year and a Recursive Sequence
    1114: 逆序
    1113: 递归调用的次数统计(函数专题)
  • 原文地址:https://www.cnblogs.com/ouyangxiaoyao/p/11389713.html
Copyright © 2011-2022 走看看