JavaScript中事件處理機制
JavaScript中代碼的處理方式:單線程 + 事件隊列(callback queue) ;如果是純單線程的話,js代碼在執行的時候遇到耗時的操作,代碼就會發生阻塞;利用事件隊列的方式,代碼在執行的時候會將回調函數放在事件隊列中(callback queue),等主線程的任務執行完畢之后,執行event loop機制的線程會將滿足執行條件的任務取出來(注意:需要滿足的兩個前提條件:1. 主線程的任務已經執行完畢;2. 事件隊列中的任務滿足觸發條件),放入主線程中進行執行。
JavaScript中有三種事件類型是異步處理的:
一:定時函數(延時時間已經達到)
二:事件函數(給DOM綁定的特定事件被觸發)
三:ajax的回調函數(服務器有數據相應)