Effective JavaScript中文版 | 誠品線上

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript

作者 David Herman
出版社 聯合發行股份有限公司
商品描述 Effective JavaScript中文版:駕馭JavaScript的68個具體作法JavaScript發明人BrendanEich專文推薦「少有程式語言達人能夠像David這樣寫出流暢通順且措辭淺白的文字,透過其

內容簡介

內容簡介 駕馭 JavaScript 的 68 個具體作法關鍵的特色包括:■ 以更好的方式來使用基於原型(prototype)的物件導向程式設計■ 使用陣列與字典(dictionary)物件時可能遭遇到的細微問題以及它們的解法■ 對 JavaScript 函式與變數範疇(variable scoping)語意的精確且務實的解說■ 實用的 JavaScript 程式設計模式與慣用語法,例如選項物件(options objects)及方法鏈串(method chaining)■ 深入介紹 JavaScript 獨特的「run-to-completion」共時模型為了真正精通 JavaScript,你必須知道如何有效運用這個語言富有彈性又具表達能力的特色,以及知道如何避免其中常見的陷阱。不管你已經撰寫了多久的 JavaScript 程式碼,Effective JavaScript 都能增進你對這個強大語言的理解,讓你能夠建置更容易預測、更可靠且更容易維護的程式。作者 David Herman 具有 Ecma 的 JavaScript 標準化委員會數年的工作經驗,他以前所未見的深度闡明這個語言的內部運作原理,幫助你完全掌握 JavaScript 強大的表達能力。立基於 JavaScript 最新的幾個版本,本書提供經過充分驗證的技巧以及最佳實務做法,協助你為未來的開發工作做好準備。Effective JavaScript 是由 68 個經過驗證、能夠幫助你寫出更好的 JavaScript 程式碼的具體作法所構成,並輔以實例來闡述說明。你會學到如何為每個專案挑選適當的程式寫作風格、管理無法預料的問題,並以更良好的方式來處理 JavaScript 程式設計的各個面向,諸如資料結構或共時性(concurrency)。

各界推薦

各界推薦 「少有程式語言達人能夠像 David 這樣寫出流暢通順且措辭淺白的文字,透過其深邃的洞察力,他以引人入勝的方式帶我們逐一探索 JavaScript 的語法和語意,一路提醒我們要特別注意的事項,並以實際的使用案例來補充說明,步調和緩而舒適。讀完此書後,你會對 JavaScript 有更穩健且透徹的理解。」--Paul Irish,Google Chrome 的開發人員大使「這本書並不適合那些尋找捷徑的人,這是刻苦獲得的經驗所提煉出來的精華。它是少數我會毫不猶豫推薦的 JavaScript 書籍。」--Alex Russell,TC39 成員、Google 軟體工程師

作者介紹

作者介紹 ■作者簡介David HermanMozilla Research 的資深研究員。他是 Ecma TC39 的成員,這個委員會負責 JavaScript 的標準化工作。他擁有 Grinnell College 的電腦科學學士學位,以及 Northeastern University 的電腦科學碩士與博士學位。

產品目錄

產品目錄 chapter 01 讓你自己習慣 JavaScript 條款 01 知道你所用的是哪個 JavaScript 條款 02 了解 JavaScript 的浮點數字 條款 03 小心隱含的強制轉型(Implicit Coercions) 條款 04 優先選用基本型別而非物件包覆器 條款 05 避免把==用在混合的型別上 條款 06 了解分號插入的限制 條款 07 把字串想成是 16 位元編碼單位的序列 chapter 02 變數範疇 條款 08 盡量少用全域物件 條款 09 總是宣告區域變數 條款 10 避免使用 with 條款 11 善於使用 Closures 條款 12 了解變數的拉升(Variable Hoisting) 條款 13 使用即刻調用的函式運算式來建立區域範疇 條款 14 小心具名的函式運算式造成不可移植的範疇 條款 15 小心 Block-Local 函式宣告造成不可移植的範疇 條款 16 避免使用 eval 來建立區域變數 條款 17 優先選用間接的 eval 而非直接的 eval chapter 03 函式的使用 條款 18 了解函式呼叫、方法呼叫以及建構式呼叫之間的差異 條款 19 熟悉高階函式的用法 條款 20 使用 call 以自訂的接收者來呼叫方法 條款 21 使用 apply 以不同數目的引數來呼叫函式 條款 22 使用 arguments 來建立可變參數的函式 條款 23 永不修改 arguments 物件 條款 24 使用一個變數來儲存對 arguments的參考(Reference) 條款 25 使用 bind 擷取出具有固定接收者的方法 條款 26 使用 bind 建立 Curry 函式 條款 27 封裝程式碼時優先選用 Closures 而非使用字串 條款 28 避免仰賴函式的 toString 方法 條款 29 避免非標準的堆疊查閱特性 chapter 04 物件和原型 條款 30 了解 prototype、getPrototypeOf 與 __proto__ 之間的差異 條款 31 優先選用 Object.getPrototypeOf 而非 __proto__ 條款 32 永不修改 __proto__ 條款 33 不要假設你的建構式會透過 new 來呼叫 條款 34 將方法儲存在原型上 條款 35 使用 Closures 來儲存私有資料 條款 36 只在實體物件上儲存實體狀態 條款 37 認出 this 的隱含繫結 條款 38 從子類別的建構式呼叫超類別的建構式 條款 39 永不重複使用超類別的特性名稱 條款 40 避免繼承標準類別 條款 41 把原型視為是實作細節 條款 42 避免輕率的 Monkey-Patching chapter 05 陣列與字典 條款 43 從 Object 的直接實體建置出輕量化的字典 條款 44 使用 null 原型來防止原型汙染 條款 45 使用 hasOwnProperty 來防止原型汙染 條款 46 優先選用陣列來建立有序群集而非使用字典 條款 47 不要把可列舉的特性加到 Object.prototype 中 條款 48 避免在列舉時修改一個物件 條款 49 陣列迭代時優先選用 for 迴圈,而非 for...in 迴圈 條款 50 優先使用迭代方法而非迴圈 條款 51 在類陣列物件上重複使用一般化的 Array 方法 條款 52 優先使用陣列字面值而非 Array 建構式 chapter 06 程式庫與 API 設計 條款 53 維持前後一致的慣例 條款 54 把 undefined 視為「沒有值」 條款 55 為關鍵字引數接受選項物件 條款 56 避免非必要的狀態 條款 57 使用結構性定型來設計彈性的介面 條款 58 區別陣列及類陣列物件 條款 59 避免過度的強制轉型 條款 60 支援方法鏈串 chapter 07 共時性 條款 61 別阻斷 I O 上的事件佇列 條款 62 使用巢狀或具名的回呼函式來進行非同步定序 條款 63 小心遺漏的錯誤 條款 64 使用遞迴來進行非同步迴圈 條款 65 別阻斷計算工作上的事件佇列 條款 66 使用一個計數器來進行共時作業 條款 67 永遠不要同步地呼叫非同步的回呼函式 條款 68 使用 Promises(承諾)來獲得較為乾淨的非同步邏輯 索引

商品規格

書名 / Effective JavaScript中文版
作者 / David Herman
簡介 / Effective JavaScript中文版:駕馭JavaScript的68個具體作法JavaScript發明人BrendanEich專文推薦「少有程式語言達人能夠像David這樣寫出流暢通順且措辭淺白的文字,透過其
出版社 / 聯合發行股份有限公司
ISBN13 / 9789862768921
ISBN10 / 9862768924
EAN / 9789862768921
誠品26碼 / 2680798846004
頁數 / 244
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 23X17CM
級別 / N:無

活動