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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM