js 定時器 只執行一次函數的定時器, 對應的代碼是setTimeout函數 反復執行函數的定時器, 對應的代碼是setInterval函數


js 定時器
只執行一次函數的定時器, 對應的代碼是setTimeout函數 反復執行函數的定時器, 對應的代碼是setInterval函數
https://blog.csdn.net/weixin_48135624/article/details/115290662

1. 定時器的介紹

定時器就是在一段特定的時間后執行某段程序代碼。

 

2. 定時器的使用:

js 定時器有兩種創建方式:

  1. setTimeout(func[, delay, param1, param2, ...]) :以指定的時間間隔(以毫秒計)調用一次函數的定時器
  2. setInterval(func[, delay, param1, param2, ...]) :以指定的時間間隔(以毫秒計)重復調用一個函數的定時器

setTimeout函數的參數說明:

  • 第一個參數 func , 表示定時器要執行的函數名
  • 第二個參數 delay, 表示時間間隔,默認是0,單位是毫秒
  • 第三個參數 param1, 表示定時器執行函數的第一個參數,一次類推傳入多個執行函數對應的參數。

   
   
   
           
  1. <script>
  2. function hello( ){
  3. alert( 'hello');
  4. }
  5. // 執行一次函數的定時器
  6. setTimeout(hello, 500);
  7. </script>

setInterval函數的參數說明:

  • 第一個參數 func , 表示定時器要執行的函數名
  • 第二個參數 delay, 表示時間間隔,默認是0,單位是毫秒
  • 第三個參數 param1, 表示定時器執行函數的第一個參數,一次類推傳入多個執行函數對應的參數。

   
   
   
           
  1. <script>
  2. function hello( ){
  3. alert( 'hello');
  4. }
  5. // 重復執行函數的定時器
  6. setInterval(hello, 1000);
  7. </script>

 

2. 清除定時器

js 清除定時器分別是:

  • clearTimeout(timeoutID) 清除只執行一次的定時器(setTimeout函數)
  • clearInterval(timeoutID) 清除反復執行的定時器(setInterval函數)

clearTimeout函數的參數說明:

  • timeoutID 為調用 setTimeout 函數時所獲得的返回值,使用該返回標識符作為參數,可以取消該 setTimeout 所設定的定時執行操作。

   
   
   
           
  1. <script>
  2. function hello( ){
  3. alert( 'hello');
  4. // 清除只執行一次的定時器
  5. clearTimeout(t1)
  6. }
  7. // 執行一次函數的定時器
  8. t1 = setTimeout(hello, 500);
  9. </script>

clearInterval函數的參數說明:

  • timeoutID 為調用 setInterval 函數時所獲得的返回值,使用該返回標識符作為參數,可以取消該 setInterval 所設定的定時執行操作。

   
   
   
           
  1. <script>
  2. function hello( ){
  3. alert( 'hello');
  4. }
  5. // 重復執行函數的定時器
  6. var t1 = setInterval(hello, 1000);
  7. function stop( ){
  8. // 清除反復執行的定時器
  9. clearInterval(t1);
  10. }
  11. </script>
  12. <input type="button" value="停止" onclick="stop();">

 

5. 小結

  • 定時器的創建
    • 只執行一次函數的定時器, 對應的代碼是setTimeout函數
    • 反復執行函數的定時器, 對應的代碼是setInterval函數
  • 清除定時器
    • 清除只執行一次函數的定時器, 對應的代碼是clearTimeout函數
    • 清除清除反復執行的定時器, 對應的代碼是clearInterval函數


免責聲明!

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



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