時間就像海綿裏的水,要擠總仍是有的,因此在最近不是太忙的時間裏,我選擇了擠時間,一點點的擠出了大把的時間,因而乎便迎來了我對javascript的第二階段的學習,首先說下, 提及JavaScript你們並不陌生,翻開各類各樣的書籍,都是似曾相識但又模模糊糊朦朦朧朧,就好比我如今要說的知識點一setTimeout()和setInterval().javascript
1.setTimeout()延時調用函數:java
setTimeout(function(){ alert('我是延時調用函數'); },1000);
setTimeout能夠接受兩個參數,第一個參數是要肯定在規定延時後要執行的代碼段,第二個參數是說要過多久開始執行該代碼段,那麼我再來舉個例子:函數
setTimeout('alert(我是不規範的延時調用函數)',1000);
以上這兩種方式均可以正常運行,可是因爲傳入字符串有可能會形成解析錯誤,甚至出現沒必要要的錯誤,所以傳入字符串做爲要執行的方法是不推薦的.setTimeout()方法返回的是延時隊列的id,有些同窗可能會好奇,既然我要延時調用某個方法,那萬一出現了我規定時間還沒到我就想銷燬這個延時家在函數怎麼辦,對這在最初確實是個問題也是個難點,由於在我尚未開始認真思考這些的時候雖然有用到setTimeout()方法,可是就是不知道怎麼中止或者銷燬,下面就來看小編給你們帶來的例子:學習
var timeID = setTimeout(function(){ alert('我是延時調用函數'); },1000); if(達到必定條件後銷燬函數){ clearTimeout(timeID); }
以上就是我對延時加載函數setTimeout()方法的理解.spa
2.間歇調用setInterval():code
setInterval()和setTImeout()方法的用法很是類似,可是clearInterval()遠比clearTimeout()的做用大的多,由於在一個間歇調用中若是你不主動去中止他,那麼他將變爲一個死循環甚至更糟的結果,因此若是使用到了setInterval()時間必定要記得關掉,不過在正式的開發環境中通常不多用到setInterval();由於setInterval徹底能夠由setTimeout方法代替,下面咱們一塊兒來看個例子:blog
var a = 10; var b = 0; var timeid = null; function interval(){ b++; if(b=a){ clearInterval(timeid); } } timeid = setInterval(interval,1000); 用setTimeout代替等價於=> var a = 10; var b = 0; var timeid = null; function interval(){ b++; if(b<a){ setTimeout(interval,1000); }else{ alert('ok') } } setTimeout(interval,1000);
這些即是我對與間歇調用和延時調用的理解,再次記錄下 但願能夠幫助有幫助的朋友.隊列