JavaScript核心技術開發解密

JavaScript核心技術開發解密

《JavaScript核心技術開發解密》

本書總結了一套適合大多數人學習JavaScript的方式,幫助讀者擁有進一步學習流行前端框架的能力。

陽波 編著

ISBN 978-7-121-33696-6

2018年3月出版

定價:69.00元

232頁

16開

基本介紹

  • 書名:JavaScript核心技術開發解密
  • 作者:陽波
  • ISBN:978-7-121-33696-6
  • 頁數:232
  • 定價:69
  • 出版社:電子工業出版社
  • 出版時間:2018-3
  • 開本:16
編輯推薦
這是一本幫助新人提高學習效率的書;它分享了 JavaScript的核心知識鏈。
這是一本告訴讀者如何進階的書;它可以幫助讀者擁有進一步學習流行前端框架的能力,擁有在前端方向自主學習、自主進步的知識基礎與能力。
內容提要
《JavaScript核心技術開發解密》針對JavaScript 中的核心技術,結合前沿開發實踐,對JavaScript 的記憶體、函式、執行上下文、閉包、面向對象、模組等重點知識,進行系統全面的講解與分析。每一個知識點都以實際套用為依託,幫助讀者更加直觀地吸收知識點,為學習目前行業里的流行框架打下堅實基礎。本書適合JavaScript 初學者,有一定開發經驗但是對於JavaScript 了解不夠的讀者,以及開發經驗豐富但沒有形成自己知識體系的前端從業者。
目錄
1 三種基礎數據結構1
1.1 棧 1
1.2 堆 3
1.3 佇列. 4
2 記憶體空間5
2.1 基礎數據類型與變數對象. 5
2.2 引用數據類型與堆記憶體空間 . 7
2.3 記憶體空間管理 . 9
3 執行上下文11
3.1 實例1 11
3.2 實例2 15
3.3 生命周期 18
4 變數對象20
4.1 創建過程 20
4.2 實例分析 23
4.3 全局上下文的變數對象 26
目錄| vii
5 作用域與作用域鏈27
5.1 作用域 . 27
5.1.1 全局作用域27
5.1.2 函式作用域28
5.1.3 模擬塊級作用域 29
5.2 作用域鏈 31
6 閉包33
6.1 概念. 33
6.2 閉包與垃圾回收機制 . 38
6.3 閉包與作用域鏈 39
6.4 在Chrome 開發者工具中觀察函式調用棧、作用域鏈與閉包. 41
6.5 套用閉包 49
6.5.1 循環、setTimeout 與閉包. 49
6.5.2 單例模式與閉包 50
6.5.3 模組化與閉包 . 53
7 this 59
8 函式與函式式編程67
8.1 函式. 67
8.2 函式式編程. 75
8.2.1 函式是一等公民 77
8.2.2 純函式 . 80
8.2.3 高階函式 85
8.2.4 柯里化 . 91
8.2.5 代碼組合 101
viii | 目錄
9 面向對象106
9.1 基礎概念 106
9.1.1 對象的定義106
9.1.2 創建對象 107
9.1.3 構造函式與原型 108
9.1.4 更簡單的原型寫法114
9.1.5 原型鏈 . 114
9.1.6 實例方法、原型方法、靜態方法117
9.1.7 繼承118
9.1.8 屬性類型 122
9.1.9 讀取屬性的特性值127
9.2 jQuery 封裝詳解 127
9.3 封裝一個拖曳對象. 134
9.4 封裝一個選項卡 147
9.5 封裝無縫滾動 . 153
10 ES6 與模組化159
10.1 常用語法知識 . 160
10.2 模板字元串. 167
10.3 解析結構 168
10.4 展開運算符. 171
10.5 Promise 詳解173
10.5.1 異步與同步173
10.5.2 Promise. 175
10.5.3 async/await . 185
10.6 事件循環機制 . 189
10.7 對象與class . 197
10.8 模組化 . 202
10.8.1 基礎語法 204
10.8.2 實例209
前言
在閱讀這本書之前,不知道大家有沒有思考過一個問題:前端學習到底有沒有捷徑?
在我看來,學習的捷徑並不是指不用付出多少努力就能夠獲得成功,而是在我們付出努力之後,能夠感覺到自己的努力沒有白費,能夠學到更多的知識,能夠真正做到一分耕耘,一分收穫。
所以學習有沒有捷徑?我的答案是:一定有。
其實大多數人並不是不想付出努力,而是不知道如何去努力,不知道如何有效地努力。我們想要學好一個知識,想要掌握一門技術,但是往往不知從何下手。
前端的學習也是如此。也許上手簡單的HTML/CSS 知識,會給剛開始學習的讀者一個掌握起來很容易的印象。但是整個前端知識體系繁雜而龐大,導致大多數人在掌握了一些知識之後,仍然覺得自己並沒有真正入門,特別是近幾年,前端行業的從業人員所要掌握的知識越來越龐雜,入門的門檻也越來越高,甚至進階道路也變成了一場馬拉松。
也許在幾年以前,我們只需會用jQuery 就可以說自己是一名合格的前端開發者,但是現在的JavaScript 語言已經不再是幾年前那樣,只需處理一些簡單的邏輯就足夠了。隨著前後端分離的方式被越來越多的團隊運用於實踐,用戶對UI 的要求越來越高,對性能的要求也越來越高,JavaScript 承載了更多的任務。雖然前端行業大熱,但是我們的學習壓力也隨之倍增。
所以我一直在思考,在這樣的大環境背景下,對於新人朋友來說,什麼樣的學習方式能讓我們的學習效率更高?或者說,一本什麼樣的前端書籍才算是好書?
是將所有的前端知識按部就班地羅列出來告訴大家嗎?肯定不是。
很多書籍,以及各類官方文檔其實都在做這件事。但是對於多數讀者來說,把所有知識羅列出來擺在眼前,並不是一個能夠掌握它們的有效方式。這種學習方法不僅效率低下,而且學完之後,也並不知道在實踐中到底如何使用它們,我們其實是迷茫的。
所以,如果有一本書,它在努力地向讀者傳遞一種行之有效的學習方法,那么對於適合這種學習方法的讀者來說,就一定是一本好書。
這就是我們這本書努力的方向。
憑藉多年的工作經驗,在長期寫部落格並與讀者互動的過程中,我總結出了一套適合大多數人的學習方式,那就是:
圍繞核心,漸進增強。
本書將整個JavaScript 相關的知識點簡單粗暴地劃分為核心知識與周邊知識。
周邊知識的特點就是相對獨立,不用非得學會了其他的知識點之後才能掌握它,也不用掌握了它之後才能學習其他的知識。例如Ajax,如果僅僅只是想要使用它,那么用別人封裝好的方法,通過官方文檔或者搜尋引擎,只需要兩分鐘你就知道怎么使用。周邊知識不會成為我們學習的瓶頸。
而核心知識不一樣,核心知識是整個前端知識體系的骨架所在。它們前後依賴,環環相扣。
例如,在核心知識鏈中,如果你搞不清楚記憶體空間管理,你可能就不會真正明白閉包的原理,就沒辦法完全理解原型鏈,這是一個知識的遞進過程。我們在學習過程中遇到的瓶頸,往往都是由於某一個環節的核心知識沒有完整掌握造成的。而核心知識的另一個重要性就在於,它們能夠幫助我們更加輕鬆地掌握其餘的周邊知識。
所以,如果讀者知道這條核心知識鏈到底是什麼,並且徹底地掌握它們,那么你就已經具備了成為一名優秀前端程式設計師的能力。這樣的能力能夠讓你在學習其他知識點的時候方向明確,並且充滿底氣。
所以這本書的主要目的就在於幫助讀者擁有這樣的進階能力。
基於這個思路,這本書的呈現方式必定與其他圖書不同。本書不會按部就班地告訴你如何聲明變數、如何聲明函式,不會羅列出所有的基礎知識,對於基礎知識的傳授,《JavaScript 高級編程》已經做得足夠好,因此沒有必要重複做同樣的事情。我會一步一步與大家分享這條完整的核心鏈。我的期望是,當大家學完這本書中的知識後,能夠對前端開發的現狀有一個大致的了解,知道什麼知識是最有用的,什麼知識是工作中需要的,擁有進一步學習流行前端框架的能力,擁有在前端方向自主學習、自主進步的知識基礎與能力。
最後希望在這本書的陪伴下,大家能有一個愉快的、充實的學習歷程。

相關詞條

熱門詞條

聯絡我們