JavaScript執行機制初步理解

2021-09-17 18:25:52 字數 1411 閱讀 7314

參考:

settimeout((

)=>

,3000

)console.

log(

'執行console'

);

settimeout是非同步的,應該先執行console.log這個同步任務。

執行結果:

settimeout((

)=>

,3000

)sleep

(10000000

);

上述**執行過程

答案是不會的,settimeout(fn,0)的含義是,指定某個任務在主線程最早可得的空閒時間執行,意思是不用再等多少秒了,只要主線程執行棧內的同步任務全部執行完成,棧為空就馬上執行。

settimeout

(function()

)new

promise

(function

(resolve)).

then

(function()

)console.

log(

'console'

);

結果:

// promise console then settimeout

由以上例子可知,

console.

log(

'1')

;settimeout

(function()

)new

promise

(function

(resolve)).

then

(function()

)})process.

nexttick

(function()

)new

promise

(function

(resolve)).

then

(function()

)settimeout

(function()

)new

promise

(function

(resolve)).

then

(function()

)})

**分析 1/7/6/8/2/4/9/11/3/5/10/12

分析錯誤,應為1/7/6/8/2/4//3/5/9/11/10/12

學習筆記JavaScript 執行機制

原文學習 settimeout function new promise function resolve then function console.log console promise console then settimeout 導圖要表達的內容用文本來表述的話 除了廣義的同步任務和非同步...

session執行機制

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表 的結構 也可能就是使用 雜湊表 來儲存資訊。當程式需要為某個客戶端的請求建立乙個session的時候,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識 稱為sessionid,如果已包含乙個sessionid則說明...

try catch finally執行機制

finally的執行 如下的程式所示,注釋中是執行的順序 public class test public static string test finally public static string test1 finally其實是僅在return 語句執行前執行,如果return 乙個函式,那...