js事件迴圈 事件輪詢 event loop

2021-08-21 02:14:09 字數 669 閱讀 2399

總結了網上的一些有關event loop的資料

雖然負責解釋和執行js**的執行緒只有1個,但是瀏覽器內部還有其他執行緒來專門負責非同步任務的,比如定時器,ui,事件,網路等專門執行緒來負責相關任何的處理。

step1:主線程讀取js**,此時為同步環境,形成相應的堆和執行棧;

step2:主線程遇到非同步任務,指給對應的非同步程序進行處理(webapi);

step3:非同步程序處理完畢(ajax返回,dom事件處理,timer到時等),將相應的非同步任務推入任務佇列;

step4:主線程執行完當前**時,都會檢查非同步任務佇列中是否有任務需要執行,如果有,則取出乙個任務推入主線程處理(先進先出);

step5:重複執行step2、3、4;稱為事件迴圈。(如何處理非同步佇列中的**碰到了非同步**,那麼再次交給瀏覽器中的其他執行緒,然後跳過這些執行,直到當前**段結束,然後檢查非同步佇列,如此迴圈往復。。。所以叫事件迴圈。)

執行的大意:

同步環境執行(step1) -> 事件迴圈1(step4) -> 事件迴圈2(step4)…

js 事件物件 event 事件委託

div.onclick function event event.target 火狐只有這個 event.srcelement ie只有這個 這兩chrome都有 可以用來事件委託 理用事件冒泡,和事件源物件進行處理 優點效能 不需要迴圈所有的元素乙個個繫結事件 靈活 當有新的子元素時不需要重新繫結...

JS事件 event 說明

js的event詳解 event代表事件的狀態,例如觸發event物件的元素 滑鼠的位置及狀態 按下的鍵等等。event物件只在事件發生的過程中才有效。event的某些屬性只對特定的事件有意義。比如,fromelement 和 toelement 屬性只對 onmouseover 和 onmouse...

JS事件物件event

事件物件 事件引數物件,event物件 1,什麼是事件物件 任何乙個事件觸發後都會包含乙個event物件 event物件中包含與當前事件相關的一些屬性和方法。2,獲取event物件 1,在html中繫結事件 標記 on事件名 btn event eg function btn event 注意 1,...