JS中setInterval()和clearInterval()的使用以及注意事項

setInterval(): 間隔指定的毫秒數不停地執行指定的代碼,定時器javascript

clearInterval(): 用於中止 setInterval() 方法執行的函數代碼java

使用方法:setInterval(code,millisec),兩個參數都是必須的,第一個參數爲要調用的函數或要執行的代碼串。第二個參數爲週期性執行或調用 code 之間的時間間隔,以毫秒計。函數

clearInterval(id_of_setinterval),參數是必須的,爲setInterval返回的ID值.net

示例:code

<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函數,
  }blog

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

  function stop() {資源

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

</body>console

在使用setInterval方法時,每一次啓動都須要對setInterval方法返回的值作一個判斷,判斷是不是空值,若不是空值,則要中止定時器並將值設爲空,再從新啓動,若是不進行判斷並賦值,有可能會形成計時器循環調用,在同等的時間內同時執行調用的代碼,並會隨着代碼的運行時間增長而增長,致使功能沒法實現,甚至佔用過多資源而卡死奔潰。所以在每一次使用setInterval方法時,都須要進行一次判斷。 ———————————————— 版權聲明:本文爲CSDN博主「YDesire」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/YDesire/article/details/81124331

相關文章
相關標籤/搜索