關於js中兩種定時器的設置及清除


1、JS中的定時器有兩種:

window.setTimeout([function],[interval]) 設置一個定時器,並且設定了一個等待的時間[interval],當到達時間后,執行對應的方法[function],當方法執行完成定時器停止(但是定時器還在,只不過沒用了);

window.setInterval([function],[interval]) 設置一個定時器,並且設定了一個等待的時間[interval],當到達時間后,執行對應的方法[function],當方法執行完成,定時器並沒有停止,以后每隔[interval]這么長的時間都會重新的執行對應的方法[function],直到我們手動清除定時器為止;

2、JS中的定時器是有返回值的:->返回值是一個數字,代表當前是第幾個定時器

var timer1=window.setTimeout(function(){},1000); //timer1->1 當前是第一個定時器
   var timer2=window.setTimeout(function(){},1000);  //timer2->2 當前是第二個定時器
   window.clearTimeout(timer1); //->把第一個定時器清除掉,這里也可以用window.clearInterval(timer1)、window.clearTimeout(1)、window.clearInterval(timer1);
  var timer3=window.setTimeout(function(){},1000);   //timer3->3 當前是第三個定時器 ,雖然上面的定時器timer1清除掉了,但是號還是繼續往后排的;
 

3、清除定時器:

window.clearInterval(timer1)/window.clearTimeout(time1);兩種清除方式都可以清除通過setTimeout和setInterval設置的定時器(兩種方式在設置定時器的時候有區別,清除定時器的時候沒有區別),並且參數不僅可以是timer,還可以是其返回值,例如1,2;需要注意的是,定時器即使清除了,其返回值也不會清除,之后設置的定時器的返回值也會在其返回值的基礎上繼續向后排,這點類似於銀行的排隊領號,即使1號的業務辦理完了,后邊的人仍是從2號開始繼續領號,而不是重新從1開始;

 


免責聲明!

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



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