2010年11月15日

[JavaScript] setInterval 和 setTimeout 的區別

JavaScript中有兩函式 setInterval 和 setTimeout 的作用很像,他們有一些區別如下

1. setInterval裡設定的程式只會被重複觸發,直到執行了clearInterval為止
2. setTimeout 裡設定的程式只會被觸發一次
3. setInterval 和 setTimeout都是利用時間去觸發某個動作的執行;並且下一行程式不會因為時間設定的長短而被延遲或影響
也就表示,當程式走到setInterval 或 setTimeout那行執行時,觸發就交給window物件去處理,其他程式會繼續執行不會被影響!
4. setInterval 和 setTimeout 在執行時都會產生timerID以便在某些狀況下需使用clearInterval 和 clearTimeout去取消那些觸發動作

clearInterval ( timeoutId );
setInterval & clearInterval用法
    wooYayIntervalId = setInterval ( "wooYay()", 1000 );
    clearInterval ( wooYayIntervalId );

setTimeout ( expression, timeout );
clearTimeout ( timeoutId );
setTimeout & clearTimeout 用法
    第一種:
      <input type="button" name="clickMe" value="Click me and wait!" onclick="setTimeout('alert(\'Surprise!\')', 5000)"/>
    第二種:
      alertTimerId = setTimeout ( "showAlert()", 3000 );
      clearTimeout ( alertTimerId )








setInterval ( expression, interval );

沒有留言:

張貼留言