設置定時器 當時間到了 瀏覽器執行定時器的回調函數 掛載在window上方法
- window.setTimeout(callback,timeInterval) 時間到 執行一次 也稱超時調用 callback 執行的回調函數 timeInterval 時間間隔
- window.setInterval(callback,timeInterval) 每隔一段時間 執行一次 也稱間歇調用
- 清除定時器 clearTimeout clearInterval 清除指定的定時器 清除後 這個定時器無論有沒有執行過 都會中止執行
同步執行
執行任務 按照必定的次序執行 當這個事件沒有執行結束後 不會執行下一個事件瀏覽器
異步執行
當事件執行的時機不固定時 瀏覽器會先執行後面的任務 當後面的事件執行完後 再返回來執行當前事件異步
- JS常見異步執行
- 事件函數都是異步執行
- 定時器的回調函數也是異步執行
- Ajax中的異步
- 回調函數也是異步執行
瀏覽器如何實現異步機制
瀏覽器中有兩個任務隊列函數
- 主線任務 存放當前須要同步執行的同步任務
- 等待任務 不須要馬上執行的異步任務都放到等待任務隊列中
- 當主任務隊列中的任務執行結束後,就去執行等待任務隊列中的任務 必須等主線任務執行完成後 再執行等待隊列的任務
- 死循環就至關於主任務隊列沒有執行完
回調函數
函數A當作實參傳遞給函數B 在函數B執行時 須要A的地方時 把A執行 這種機制稱爲回調函數機制this
- 特色
- 回調函數能夠執行屢次
- 能夠傳遞實參
- 能夠改變回調函數中this的指向
- 能夠在宿主函數中 接收回調函數執行的返回結果
- 常見內置的回調函數
- 定時器
- sort方法
- forEach方法
- map方法