setTimeOut()


 
setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式

 

function start(){函數

xxxoop

setTimeOut( "start()",1000)   //每隔1秒調用一次start函數blog

}隊列


 

參數:事件

第一個參數是須要回調的函數,必須傳入的參數,第二個參數是時間間隔,毫秒數,能夠省略。從第三個參數開始,依次用來表示傳入回調函數的參數。回調函數

setTimeOut()同步

IE 9.0及如下版本,只容許setTimeout有兩個參數,不支持更多的參數

若是想向回調函數傳參,能夠用bind(參數,參數)。io


 

清除定時器:console

clearTimeout():

setTimeout函數,返回一個表示計數器編號的整數值,將該整數傳入clearTimeout函數,就能夠取消對應的定時器。function

var id1 = setTimeout(f,1000); //id1就是timeoutID

 clearTimeout(id1);

 

setTimeout()之延遲時間爲0

栗子

  console.log('a');
    setTimeout(function(){
    console.log('b');
    },0);
    console.log('c');
    console.log('d');

控制檯輸出: a c d b 理論上他延遲時間爲0不是應該立刻執行嗎,不是的。由於setTimeout運行機制說過,必需要等到當前腳本的同步任務和「任務隊列」中已有的事件,所有處理完之後,纔會執行setTimeout指定的任務。也就是說,setTimeout的真正做用是,在「任務隊列」的現有事件的後面再添加一個事件,規定在指定時間執行某段代碼。setTimeout添加的事件,會在下一次Event Loop執行。

相關文章
相關標籤/搜索