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

React. js頂尖開發:建立使用者介面的JavaScript 函式庫(第二版)1-2

React. js頂尖開發:建立使用者介面的JavaScript 函式庫(第二版)1-2

2022 實習面試心得(聯發科/智邦科技/創未來/Nvidia/HP惠普實習星/DELL/Amazon ring/華邦電子)

2022 實習面試心得(聯發科/智邦科技/創未來/Nvidia/HP惠普實習星/DELL/Amazon ring/華邦電子)

Modelsim 基礎教學

Modelsim 基礎教學


Comments