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