JS執行機制

2021-08-29 01:29:29 字數 647 閱讀 4286

js是單執行緒的,settimeout和setinterval是非同步任務,要掛起,不先執行,等同步任務完成之後,再去處理非同步任務

console.log(1);

settimeout(function () , 0);

console.log(3);

console.log(4);

輸出 1 3 4 2

console.log('a');

settimeout(function () , 0);

while (1)

輸出 a

for (var i = 0; i < 3; i++) , 1000);

}輸出 3 3 3 3

for迴圈是乙個同步任務,settimeout是非同步任務,settimeout被放入非同步的時間是1000ms

如何理解js單執行緒?

乙個時間之內js只能做一件事

什麼是任務佇列?

分同步任務和非同步任務

什麼是event loop?

事件迴圈。

什麼時候開啟非同步任務?

settimeout和setinterval

dom事件

es6的promise

JS執行機制

輸出結果為 1,2,3 js是從上到下執行的 js是單執行緒的,即在同一時間只能做一件事情 遇到同步程式,直接執行 遇到非同步程式,先掛起,等同步程式執行完畢後再執行 同步佇列 優先順序最高 非同步佇列 遇到非同步佇列先掛起,等同步佇列執行完後,再選擇執行非同步佇列的某個 settimeout中的時...

JS執行機制

js單執行緒 在同一時間js只能做一件事。為什麼是單執行緒?如果多執行緒,同時操作乙個dom會出問題。非阻塞 event loop 事件迴圈 任務佇列 同步任務佇列要優先於非同步任務佇列處理。非同步任務被分為巨集任務和微任務。常見的非同步任務分類如下 巨集任務 定時器系列,dom事件 ui互動事件 ...

js執行機制

說到js的執行機制,那麼就要先從幾個名詞開始,這是為了讓更多的人能看懂。如下 程序和執行緒 程序 程序是正在執行的程式的例項。程式關於資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位 程序有三個基本的狀態 執行緒 有時被稱為輕量級程序 lightweight process,lwp 是程...