js執行過程

2021-09-26 05:43:18 字數 504 閱讀 5936

**執行過程:

1.宿主環境(瀏覽器)把一段**給js引擎–js引擎按順序執行 。(因為是宿主環境發起,這也是一條巨集任務

2.(需要知道每個巨集觀任務尾部會跟著微任務佇列)當有微觀任務出現,會把他放在微任務佇列中,在上一步的巨集任務執行完後再執行

3.若有巨集觀任務出現,會放入巨集觀任務佇列中,等待上一步微任務佇列都執行完以後執行一條巨集觀任務,重複第二步

技巧:

1.分析有幾個巨集觀任務

2.每個巨集觀任務後面帶哪幾個微觀任務

3.確定巨集觀任務的執行順序

網上有很多關於settimeout和promise的例題與解析,上面這個技巧是我覺得很好記憶的。

注:宿主環境會提供一些api如settimeout給js引擎使用。宿主發起的被稱為巨集觀任務。

es5 promise是js自己發起的,不是從宿主環境發起,被稱為微觀任務。

極客時間–重學前端

js 函式執行過程

函式執行過程中 1.每使用乙個變數,函式都會由近到遠的遍歷自己的好友列表中的作用域物件。2.如果在離自己近的格仔中找到了區域性變數,就優先使用區域性變數,不再去全域性找。3.如果在離自己近的格仔中沒找到要用的區域性變數,才被迫去全域性找,如果在全域性找到了想用的變數,則本次修改結果,會影響全部變數的...

js 非同步執行 js執行過程你了解多少?

js執行過程你了解多少?重慶崽兒brand的個人主頁 www.brandhuang.com js是單執行緒語言 在瀏覽器中只有乙個執行緒在執行js指令碼 雖然js是單執行緒,但在js執行過程中並不是只有乙個執行緒。其實有四個執行緒,包括 js引擎執行緒 事件觸發執行緒 定時器觸發執行緒 http非同...

Js檔案執行的過程

執行檔案的時候會先建立乙個全域性執行上下文 它由兩部分組成 執行檔案分為兩個過程 執行階段 this 當建立全域性上下文或者函式上下文的時候會被建立 const x x function test test 在呼叫test的時候會建立函式執行上下文 我們執行 是在乙個執行棧中新增和彈出,出現函式的時...