JavaScript 程式執行原理:hw1 Event Loop


Posted by backas36 on 2021-08-16

hw1:Event Loop

在 JavaScript 裡面,一個很重要的概念就是 Event Loop,是 JavaScript 底層在執行程式碼時的運作方式。請你說明以下程式碼會輸出什麼,以及盡可能詳細地解釋原因。

console.log(1)
setTimeout(() => {
  console.log(2)
}, 0)
console.log(3)
setTimeout(() => {
  console.log(4)
}, 0)
console.log(5)

Answer :

執行程式 => console.log(1) => 遇到 setTimout ,請 web API 幫我們設定計時器,0 秒後,把 ()=>{console.log(2)} 放到 callback queue 待命

繼續執行程式 => console.log(3) => 遇到 setTimout ,請 web API 幫我們設定計時器,0 秒後,把 ()=>{console.log(4)} 放到 callback queue 待命

繼續執行程式 => console.log(5)

將最後一行 console.log(5) 執行完後 , 此時主程式已經沒有程式可以跑了。 就會看看 callback queue 有沒有工作要執行!

還有兩個剛剛請 web API 幫忙設定計時器的 function 要執行 => 執行 callback queue 第一個 function,()=> {console.log(2)} => 結束後執行第二個 function

這樣就可以知道答案是 1 3 5 2 4。


#js #Event Loop #程式導師實驗計畫第五期







Related Posts

8 月開始上班,切換行銷與寫程式的腦袋

8 月開始上班,切換行銷與寫程式的腦袋

[Py 百日馬 Day 3] 用 if / elif / else 見機行事

[Py 百日馬 Day 3] 用 if / elif / else 見機行事

自己做一個部落格?嗯,我要多一點時間,好讓我再想一想。

自己做一個部落格?嗯,我要多一點時間,好讓我再想一想。


Comments