let / const 宣告變數,typeof 檢查型別,template literal 組合字串,function 定義與呼叫。
Array 的 push / filter / map,Object 屬性存取,JSON.stringify 與 JSON.parse 序列化。
querySelector 選取元素、innerHTML 修改內容、addEventListener 綁定 click 事件。
setTimeout 延遲、setInterval 週期重複、clearInterval 停止運作。
display:flex 讓子元素沿主軸排列,justify-content 控制分佈,align-items 控制對齊。
display:grid 建立二維網格,grid-template-columns 定義欄寬,gap 設定間距。
@media query 針對不同螢幕寬度套用樣式,搭配 rem / % / vw 等彈性單位。
@keyframes 定義動畫關鍵影格,animation 屬性控制時長、重複與變換方式。
同步程式碼逐行執行並等待,非同步則將耗時任務(I/O、網路請求)交給瀏覽器背景處理,不阻塞主執行緒,完成後再透過 Event Loop 回傳結果。
模擬同步 vs 非同步的執行順序差異 —— 觀察 log 輸出的先後
Callback 是傳入函式的函式,用於非同步完成後執行;Promise 封裝非同步狀態(pending → fulfilled / rejected),鏈式 .then().catch() 取代巢狀 callback,避免 Callback Hell。
模擬 Promise 鏈式執行 — 觀察各階段狀態變化
fetch() 回傳 Promise,用於發送 HTTP 請求取得資料;async/await 語法讓非同步程式碼讀起來像同步,搭配 try/catch 處理錯誤,大幅提升可讀性。
呼叫公開 API — JSONPlaceholder 隨機取得一位使用者資料
Promise.all() 並行發送多個請求,全部完成才繼續;Promise.allSettled() 不論成功失敗都回傳結果;序列請求(for...of + await)則逐一等待,適合有依賴關係的場景。
比較「並行」與「序列」請求的完成時序