JavaScript SetInterval與setTimeout使用方法詳解

來源:互聯網
上載者:User

setTimeout和setInterval的文法相同。它們都有兩個參數,一個是將要執行的代碼字串,還有一個是以毫秒為單位的時間間隔,當過了那個時間段之後就將執行那段代碼。
不過這兩個函數還是有區別的,setInterval在執行完一次代碼之後,經過了那個固定的時間間隔,它還會自動重複執行代碼,而setTimeout只執行一次那段代碼。
區別:
window.setTimeout("function",time);//設定一個逾時對象,只執行一次,無周期
window.setInterval("function",time);//設定一個逾時對象,周期='互動時間'
停止定時:
window.clearTimeout(對象) 清除已設定的setTimeout對象
window.clearInterval(對象) 清除已設定的setInterval對象
複製代碼 代碼如下:
PerRefresh();

function PerRefresh() {
     var today = new Date();
     alert("The time is: " + today.toString());
     setTimeout("showTime()", 5000);
}

 一旦調用了這個函數PerReflesh,那麼就會每隔5秒鐘就顯示一次時間
複製代碼 代碼如下:
setInterval("PerRefresh()", 5000);

function PerRefresh() {
     var today = new Date();
     alert("The time is: " + today.toString());
}

而setInterval卻沒有被自己所調用的函數所束縛,它只是簡單地每隔一定時間就重複執行一次那個函數。
只要調用了setInterval("PerRefresh()", 5000)此函數,那麼每隔5秒鐘就會執行PerRefresh這個函數。
如果要求在每隔一個固定的時間間隔後就精確地執行某動作,那麼最好使用setInterval,而如果不想由於連續調用產生互相干擾的問題,尤其是每次函數的調用需要繁重的計算以及很長的處理時間,那麼最好使用setTimeout。
setInterval 不斷地執行指定代碼直到調用clearInterval清除定時器對象
setTimeout 執行一次指定代碼,使用clearTimeout清除定時器對象
setInterval和setTimeout都返回定時器物件識別碼,用於clearInterval和clearTimeout調用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.