「Kyle 對於 JavaScript 語言運作的每一個細節所展現出來的關鍵思考方式將會融入你的思維和工作流程中。」
—Shane Hudson,自由前端網站開發人員
「this 關鍵字和原型(prototypes)非常關鍵,因為它們是使用 JavaScript 進行真實世界編程的基石。」
—Nick Berardi,RDA 公司資深顧問
《你所不知道的 JS》系列包括:
■ 導讀,型別與文法
■ 範疇與 Closures,this 與物件原型
■ 非同步處理與效能
■ ES6 與未來發展
■ 範疇與 Closures 篇
不管你有多少的 JavaScript 使用經驗,很有可能你還是沒有完整地了解這個語言。本篇會帶你潛入範疇(scope)與 closures(閉包)的內部,若想成為效率更好、實力更高強的 JavaScript 程式設計師,你就一定得了解這兩個核心概念。你會學到它們如何運作,以及為何如此運作,並且知道對 closures 的理解如何成為你開發技能組合中強大的一部分。
在本篇中,你會:
■ 學習何謂範疇,也就是 JavaScript 引擎用來找出程式碼中區域變數位置的一組規則
■ 深入到巢狀範疇(nested scope)中,也就是內含變數與函式的一系列容器
■ 探索函式範疇與區塊範疇、拉升(hoisting)動作,以及基於範疇的資訊隱藏所構成的模式和帶來的好處
■ 了解如何使用 closures 來進行同步或非同步的任務,包括建立 JavaScript 程式庫
■ this 與物件原型篇
本篇會帶你潛入 JavaScript 的 this 結構和物件原型(object prototypes)的內部。你會學到它們的運作方式,以及它們為何是行為委派(behavior delegation)不可或缺的一部分,在這種設計模式中,物件是連結在一起的,而非複製產生的。
在本篇中,你會:
■ 探索 this 繫結如何依據函式被呼叫的方式指向不同的物件
■ 探討 JS 物件的本質,以及為何你需要指向它們
■ 學習開發人員如何使用 mixin 模式在 JS 中偽造出類別
■ 檢視 JS 的原型機制如何形成物件之間的連結
■ 學習如何從類別與繼承設計轉移到行為委派
■ 了解 OLOO(objects-linked-to-other-objects)編程風格如何自然地實作行為委派
如同《你所不知道的 JS》系列其他書籍,《範疇與 Closures 篇》及《this 與物件原型篇》會深入探討這個語言較為棘手的部分,也就是許多 JavaScript 程式設計師會乾脆避開的那些部分。裝備了這些知識後,你就能真正精通 JavaScript。
本系列之補充資料(程式碼範例、練習等)可在此處下載:https://github.com/getify/You-Dont-Know-JS
作者簡介:
Kyle Simpson
來自德州奧斯汀的 Open Web 的傳道者,對 JavaScript 的所有東西都充滿熱情。他是一位作家、研討會講師、技術講者,以及 OSS 的貢獻者和領導者。
目錄
PART 1 範疇與Closures篇
Chapter 1 何謂範疇?
Chapter 2 語彙範疇
Chapter 3 函式 vs. 區塊範疇
Chapter 4 拉升
Chapter 5 範疇的 Closure
PART 2 this 與物件原型
Chapter 6 this or That ?
Chapter 7 this 現在全都說得通了!
Chapter 8 物件
Chapter 9 混合的「類別」物件
Chapter 10 原型
Chapter 11 行為委派
APPENDIX A 動態範疇
APPENDIX B Polyfilling 區塊範疇
APPENDIX C 語彙的 this
APPENDIX D ES6 類別
APPENDIX E 致謝
PART 1 範疇與Closures篇
Chapter 1 何謂範疇?
Chapter 2 語彙範疇
Chapter 3 函式 vs. 區塊範疇
Chapter 4 拉升
Chapter 5 範疇的 Closure
PART 2 this 與物件原型
Chapter 6 this or That ?
Chapter 7 this 現在全都說得通了!
Chapter 8 物件
Chapter 9 混合的「類別」物件
Chapter 10 原型
Chapter 11 行為委派
APPENDIX A 動態範疇
APPENDIX B Polyfilling 區塊範疇
APPENDIX C 語彙的 this
APPENDIX D ES6 類別
APPENDIX E 致謝
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。