很多人對JavaScript這門語言的印象都是簡單易學,很容易上手。雖然JavaScript語言本身有很多復雜的概念,但語言的使用者不必深入理解這些概念就可以編寫出功能的應用。殊不知,這些復雜精妙的概念才是語言的精髓,即使是經驗豐富的JavaScript開發人員,如果沒有認真學習的話也無法真正理解它們。在本書中,我們要直面當前JavaScript開發者"不求甚解"的大趨勢,深入理解語言內部的機制。
《你不知道的JavaScript(上卷)》既適合JavaScript語言初學者閱讀,又適合經驗豐富的JavaScript開發人員深入學習。
JavaScript語言有很多復雜的概念,但卻用簡單的方式體現出來(比如回調函數),因此,JavaScript開發者無需理解語言內部的原理,就能編寫出功能的程序;就像收音機一樣,你無需理解里面的管子和線圈都是做什么用的,只要會操作收音機上的按鍵,就可以收聽你喜歡的節目。然而,JavaScript的這些復雜精妙的概念才是語言的精髓,即使是經驗豐富的JavaScript開發者,如果沒有認真學習也無法真正理解語言本身的特性。正是因為絕大多數人不求甚解,一遇到出乎意料的行為就認為是語言本身有缺陷,進而把相關的特性加入黑名單,久而久之就排除了這門語言的多樣性,人為地使它變得不完整、不安全。
"你不知道的JavaScript"系列就是要讓不求甚解的JavaScript開發者迎難而上,深入語言內部,弄清楚JavaScript每一個零部件的用途。本書介紹了該系列的兩個主題:"作用域和閉包"以及"this和對象原型"。掌握了這些知識之后,無論什么技術、框架和流行詞語,你都能輕松理解。
Kyle Simpson 推崇開放的互聯網,對JavaScript、HTML5、實時/端對端通信和Web性能有深入研究。他是技術書作家、技術培訓師、講師和開源社區的活躍成員。
前言VIII
及時部分作用域和閉包
序
第1章作用域是什么
1.1編譯原理
1.2理解作用域
1.2.1演員表
1.2.2對話
1.2.3編譯器有話說
1.2.4引擎和作用域的對話
1.2.5小測驗
1.3作用域嵌套
1.4異常
1.5小結
第2章詞法作用域
2.1詞法階段
2.2欺騙詞法
2.2.1eval
2.2.2with
2.2.3性能
2.3小結
第3章函數作用域和塊作用域
3.1函數中的作用域
3.2隱藏內部實現
3.3函數作用域
3.3.1匿名和具名
3.3.2立即執行函數表達式
3.4塊作用域
3.4.1with
3.4.2try/catch
3.4.3let
3.4.4const
3.5小結
第4章提升
4.1先有雞還是先有蛋
4.2編譯器再度來襲
4.3函數優先
4.4小結
第5章作用域閉包
5.1啟示
5.2實質問題
5.3現在我懂了
5.4循環和閉包
5.5模塊
5.5.1現代的模塊機制
5.5.2未來的模塊機制
5.6小結
附錄A動態作用域
附錄B塊作用域的替代方案
附錄Cthis詞法
附錄D致謝
第二部分this和對象原型
序
第1章關于this
1.1為什么要用this
1.2誤解
1.2.1指向自身
1.2.2它的作用域
1.3this到底是什么
1.4小結
第2章this解析
2.1調用位置
2.2綁定規則
2.2.1默認綁定
2.2.2隱式綁定
2.2.3顯式綁定
2.2.4new綁定
2.3優先級
2.4綁定例外
2.4.1被忽略的this
2.4.2間接引用
2.4.3軟綁定
2.5this詞法
2.6小結
第3章對象
3.1語法
3.2類型
3.3內容
3.3.1可計算屬性名
3.3.2屬性與方法
3.3.3數組
3.3.4復制對象
3.3.5屬性描述符
3.3.6不變性
3.3.7[[Get]]
3.3.8[[Put]]
3.3.9Getter和Setter
3.3.10存在性
3.4遍歷
3.5小結
第4章混合對象"類"
4.1類理論
4.1.1"類"設計模式
4.1.2JavaScript中的"類"
4.2類的機制
4.2.1建造
4.2.2構造函數
4.3類的繼承
4.3.1多態
4.3.2多重繼承
4.4混入
4.4.1顯式混入
4.4.2隱式混入
4.5小結
第5章原型
5.1[[Prototype]]
5.1.1Object.prototype
5.1.2屬性設置和屏蔽
5.2"類"
5.2.1"類"函數
5.2.2"構造函數"
5.2.3技術
5.3(原型)繼承
5.4對象關聯
5.4.1創建關聯
5.4.2關聯關系是備用
5.5小結
第6章行為委托
6.1面向委托的設計
6.1.1類理論
6.1.2委托理論
6.1.3比較思維模型
6.2類與對象
6.2.1控件"類"
6.2.2委托控件對象
6.3更簡潔的設計
6.4更好的語法
6.5內省
6.6小結
附錄AES6中的Class
"Kyle對JavaScript語言每一個細節的縝密思考方式,會潛移默化地移植到我們的頭腦和日常工作流程當中。"
——Shane Hudson,自由前端開發者
"原型使JavaScript語言功能強大,但也令開發人員備感困惑。本書第二部分`this和對象原型`精妙地解釋了原型、繼承和JavaScript中`類`的概念。"
——David Walsh,Mozilla前端工程師
這本書內容我不知道怎樣,但是包裝還可以,比較薄,希望能夠給我驚喜
趕著雙十一+店慶低價屯一波,超值。塑封包裝完好,必須點贊。
非老手不建議看這本書,作者以自己理解的方式去寫的,新手只會越看越亂,不推薦
收沒得說,書很好,當當活動購物,便宜。書收到不錯。
書還沒看,應該還不錯,書還沒看,應該還不錯
不錯 正品 值得買
書已收到,商家的服務態度非常好。書的質量也很好。很清晰。希望商家的生意越來越火。
好書 擼了兩遍 每擼一次都有新收獲 好書!
正在看中卷
技術開發人員必備工具書
很有用書籍,實用性強,很鍛煉人,非常感謝作者
挺好呃呃呃呃呃呃呃呃呃呃呃呃
周年慶屯一波,實惠超值
很多人對JavaScript這門語言的印象都是簡單易學,很容易上手。雖然JavaScript語言本身有很多復雜的概念,但語言的使用者不必深入理解這些概念就可以編寫出功能全面的應用。殊不知,這些復雜精妙的概念才是語言的精髓,即使是經驗豐富的JavaScript開發人員,如果沒有認真學習的話也無法真正理解它們。在本書中,我們要直面當前JavaScript開發者“不求甚解”的大趨勢,深入理解語言內部的機制。
內容挺贊,不過OLOO可能流行不起來,因為V8沒有針對性優化
哎…堅持看了一段時間,太忙了,就沒堅持看了,接下來得堅持把它讀完
一個從沒接觸過代碼的小白。。心血來潮買了本。。我能說看不懂么。。
不用說了經典,電子書看完了,還是把這本書買來就是做個紀念。
很詳細,前端開發人員還有學習js的人都可以看一看
這本書不用說了,只能點贊,想深入了解js的同學必須來一本,期待中卷和下卷!
當當買的書都很好,這個看起來不錯…希望看完能有所提高
詳細講解了Js中的一些重要概念,希望能助我拿到offer
還沒看到但是先收貨了,這本書相對來說還是比較好的。
兩本書一起買的,包的很好,書也很快就到了。真的很好,雖然很久沒有在當當上買東西了,但是現在買書還是一如既往的好!
好書一本,看完之后對于JS有了進一步的認識。
學JavaScript拿來印證輔助學習,很不錯!
等下卷出了,就把這套補齊,這個系列的書很好,適合有點JS基礎的人閱讀。
書還是不錯的,看別人推薦買的,內容還沒看,評價還不錯
很好很強大,正在閱讀,受益匪淺,寫的很清晰,理清思路,知識系統性有幫助
上卷瞅了一眼主要講閉包原型鏈等基礎又重要的知識,不過我買了太多書了,還沒有開始看這一本,挺好的把應該