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