setTimeout()相關知識

一、setTimeout()相關知識閉包

    setTimeout有兩個參數,第一個參數是回調函數,第二個參數是毫秒數,表示要執行回調函數所要延遲的時間,可是咱們還須要知道的是,setTimeout會返回一個id,即這個定時器的Id。在上面的代碼中其實已經建立了5個定時器,可是默認只返回一個Id。函數

  原理:setTimeout()函數要等執行完函數調用棧中的代碼,而後當即調用定時器。咱們的定時器被放在一個隊列數據中,等待上下文的可執行代碼運行完畢後,纔開始執行定時器。因此在定時器執行的時候,變量值已經變成了最後的i值 全部輸出爲 第5次性能

二、引入閉包隊列

爲了實現打印出來不一樣的i,就須要引入閉包。閉包要應用正確,濫用會致使性能問題。回調函數

相關文章
相關標籤/搜索