Dev
前端技術、踩坑紀錄與學習筆記
148 篇2026-05-2114 分鐘閱讀
逐步追蹤 Object.create() 搭配原型鏈的執行流程,說明 `[[prototype]]` 隱藏屬性如何讓 JavaScript 自動向上查找方法,以及 `this` 作為隱含參數如何確保共用函式能正確作用於不同物件。
2026-05-2010 分鐘閱讀
工廠函式的記憶體缺陷,以及如何透過 Object.create() 建立原型連結,讓所有使用者物件共享同一份方法,達成高效能目標。
2026-05-209 分鐘閱讀
介紹工廠函式(Factory Function)如何解決手動逐一建立物件的重複問題,並逐步拆解 JavaScript 執行環境在每次呼叫時的運作流程,以及這個解法的記憶體效率缺陷。
2026-05-199 分鐘閱讀
介紹封裝的核心概念,並以測驗遊戲為例,示範三種在 JavaScript 中建立物件的方式:物件字面值、點記法與 Object.create(),同時說明各自的特性與適用情境。
2026-05-1910 分鐘閱讀
從「儲存資料、對資料執行操作」這兩件事出發,說明為什麼大型程式碼庫需要物件導向設計,以及 JavaScript 如何透過原型鏈實現 OOP 典範。
2026-05-1813 分鐘閱讀
說明 Promise 的錯誤處理機制:透過 `[[RejectReactions]]` 與 `.catch()` 統一管理失敗情境。並介紹 2022 年新增的 `AbortSignal.timeout()`,示範如何為 `fetch` 加上超時自動中止的能力。最後整理 Microtask Queue、Callback Queue 與 Event Loop 的完整執行規則。
2026-05-1712 分鐘閱讀
說明 JavaScript 非同步系統中存在兩個佇列:Callback Queue 與 Microtask Queue。透過同時混用 `setTimeout` 與 `fetch` 的程式碼,逐步追蹤執行時間軸,說明 Event Loop 為何永遠優先清空 Microtask Queue,以及這個規則如何決定最終的輸出順序。
2026-05-1712 分鐘閱讀
逐步追蹤同時包含 `setTimeout` 與 `fetch` 的程式碼執行流程,說明 Callback Queue 與 Promise 回呼機制如何在同一段程式碼中並行運作,並以此引出一個關鍵問題:當兩者同時就緒,究竟誰先執行?
2026-05-1612 分鐘閱讀
說明 `fetch` 建立的 Promise 物件如何跨越 JavaScript 引擎與瀏覽器兩個環境:瀏覽器的網路請求持有指向 Promise 物件的記憶體參照,背景工作完成時透過這個參照直接更新 `[[Result]]`。同時說明 Promise 物件為何不會在局部執行環境退出後消失,以及為何 Promise 回呼使用的不是 Callback Queue,而是優先權更高的 Microtask Queue。
2026-05-1613 分鐘閱讀
說明 `fetch` 作為雙管齊下的幻象函式的運作方式:呼叫當下同時在瀏覽器背景發出 HTTP 請求,並立刻在 JavaScript 中回傳 Promise 物件。介紹 Promise 的 `[[Result]]` 與 `[[FulfillReactions]]` 兩個隱藏屬性,以及 `.then()` 的作用,並逐步追蹤從發出請求到資料回傳的完整執行流程。
MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog

