啟蒙文學站

位置:首頁 > 範文 > 讀後感

《JavaScript高階程式設計(第3版)》讀後感

讀後感3.03W

當品讀完一部作品後,大家一定都收穫不少,不妨坐下來好好寫寫讀後感吧。但是讀後感有什麼要求呢?以下是小編收集整理的《JavaScript高階程式設計(第3版)》讀後感,僅供參考,大家一起來看看吧。

《JavaScript高階程式設計(第3版)》讀後感

對於初學者,有許多人推薦這兩本書:一本是《JavaScript權威指南》(第六版),一本是這本。

這兩本書我都有,剛開始時是對照著看的。但我最終把大部分時間都花在這本書上了,《權威指南》則被冷落了。

兩本書都廣泛受到業內人士的好評,所以我並沒有說《權威指南》不好,我說的是這本書要更好一些。

為什麼我要這麼說呢?首先,就是這本書的作者與譯者。如果你像我一樣,整日去學校圖書館翻看是否又上架了新的前端書目的話,你就會發現,這本書的作者NCZ與譯者李鬆峰常出現在你眼前。作者NCZ簡直就是專業的技術書籍寫作者了,寫作經驗十分豐富,所作的許多書被譽為“聖典”。譯者李鬆峰就職於圖靈公司,是一名專業的前端技術書籍翻譯者。這本書翻譯流暢,少有晦澀之處,比《權威指南》好得多。

第二方面呢,就是這本書的厚度。這本書明顯要比《權威指南》薄許多啊。對於時間本就不是十分寬裕的寒假而言,顯然這本書更適合深入學習一些。而且這本書開本和字號也要大一些,看起來要舒服很多。而且不要認為,這本書薄了,知識量就少了。這本書比起《權威指南》內容可是半點沒少,只是少了《權威指南》最後附錄中的冗雜的參考文件罷了。況且我認為參考文件完全可以在網上查閱,而且更為方便快捷。

JavaScript這門語言誕生於1995年。1997年,由歐洲計算機制造協會(ECMA,European Computer Manufactures Association)指定的39號技術委員會制定的ECMAScript指令碼語言標準釋出。1998年,ISO/IEC採用了ECMA標準,至此JavaScript的ECMAScript部分成型。

由ECMA-262定義的ECMAScript與Web瀏覽器沒有依賴關係,這門語言並不包括輸入輸出定義。ECMA-262定義的只是這門語言的基礎,Web瀏覽器只是ECMAScript實現可能的宿主環境之一。宿主環境不僅提供基本的ECMAScript實現,同時也會提供該語言的擴充套件,以便語言與環境之間對接互動。而這些擴充套件——如DOM,則利用ECMAScript的核心型別和語法提供更多更具體的功能,以便實現針對環境的操作。其他的宿主環境包括Node(一種服務端JavaScript平臺)和Adobe Flash。

完整的JavaScirpt實現包括了ECMAScript,DOM,BOM三大部分。核心(ECMAScript),由ECMA-262定義,提供核心語言功能;文件物件模型(DOM),提供訪問和操作網頁內容的方法和介面;瀏覽器物件模型(BOM),提供與瀏覽器互動的方法和介面。

JavaScript的這三個組成部分,在當前五個主要瀏覽器(IE、Firefox、Chrome、Safari和Opera)中都得到了不同程度的支援。其中,所有瀏覽器對ECMAScript第3版的支援大體上都還不錯,而對ECMAScript5的支援程度越來越高,但對DOM的支援則彼此相差比較多。對已經正式納入HTML5標準的BOM來說,儘管各瀏覽器都實現了某些眾所周知的共同特性,但其他特性還是會因瀏覽器而異。

雖然大家都說JavaScript是一門十分簡單的程式語言,然而那只是對入門而言。要想能熟練應用並精通這門前端語言並不是十分容易。

第一次看到JavaScript完成專案的原始碼時,我的內心幾乎是崩潰的。可能是因為以前沒有接觸過指令碼語言的緣故,JavaScript的語法規則我完全無法理解,更別說那些繁雜的封包規則了。

於是,過去一個多個月,這本書成了我主攻物件。寒假裡,我經常一個人坐在電腦前,靜靜地看一天,邊看邊寫。說來也奇怪,第一次見JavaScript的那種奇怪感覺沒有了。不懂閉包,原型鏈,那說懂JavaScript是讓人笑話的。於是,我花了很大力氣重複看這幾章,竟然慢慢看懂了,不得不說這書寫得很清楚,翻譯質量也很不錯。我自己也翻過東西,知道翻譯的不易,翻譯這麼厚的一本書,更不是一件容易的事。然而李鬆峰的翻譯就讓人感覺十分順暢,讀起來如行雲流水,十分舒服。正所謂前人栽樹後人乘涼,讀者在讀書時往往不知成書背後的艱辛。

當然,翻譯也並非完全沒有問題,第四章中提到的作用域、原型。作用域鏈等,所有相關基本概念都在此有說明,後面涉及到閉包、this物件、私有變數、函式繫結都與此有關。但是我認為這部分特別是講作用域概念時翻譯有問題,所以我特意下載了英文原版的電子版。對照英文版,果然還是原文更好理解。

就這樣,對照著英文和漢譯,我終於理解了JavaScript的大部分,接下來,我會再仔細攻讀不太理解的部分,力求完全將JavaScript掌握。

七百多頁的大塊頭,從學校圖書館到放假回家,斷斷續續的一個多個月連帶做筆記終於勉強算過了一遍。因為這本書內容比較多,涉及面也比較廣,對於我這種沒有實戰經驗的學生來說很多章節不是都不懂就是不知所用,只是一味的看看方法,API什麼的。所以看完一遍之後,我又把重點語言章節複習了一遍,全書的內容大概整理了整理,才算是基本掌握了這本書。

如果想要只想要對JavaScript本身做一個瞭解,其實閱讀到第十三章“事件”就可以了。之後是一些HTML5新內容,XML和JSON的操作,還有非常流行的AJAX,這些章節都是一大堆方法和API,沒有實踐過一些前端專案的人讀起來可能會覺得沒什麼意思,然而我卻讀的津津有味。因為這部分內容對我有著非常巨大的幫助。

我雖然自己也經常應用JSON和AJAX,但一直都是知其然而不知其所以然,一遇到問題就Google,基本上stackoveflow上都有需要的答案,而gitHub上總能找到自己需要的框架和庫。但是我雖然知道用他們可以解決具體問題,但卻並不知到離開了他們自己該如何去做。然而在我耐心地讀完這本書後,很多心頭的疑問終於解開。遇到不解不用再Google了,因為很多原理書中闡述的十分清楚,直接查閱書籍的對應內容就可以。也終於相信,遇到任何功能,都可以用原生的Dom API和JS來解決了,心裡也不再慌亂,覺得離開第三方庫啥也幹不了了。

我因為之前學過一些主流程式語言,所以在語法章節直接跳過去了,後面讀面向物件那裡果然就有了問題。JavaScript雖然和主流程式語言語法差距不大,但有些細節還是要關注,比如函式沒有簽名和垃圾回收呀等等,對以後章節的面向物件設計比較有幫助。

第六和第七章,“面向物件的程式設計”和“函式表示式”我認為是深入JavaScript的關鍵,有些理解困難的時候可以在網上搜一搜部落格,比如閉包我就沒怎麼看懂,最後在網上找到一遍阮一峰的博文,說的很清楚,立馬就明白了。

紙上得來終覺淺,絕知此事要躬行,所以最重要的還是要實踐,本書有一個缺點是沒有實戰專案(畢竟再加上就不知道要多厚了),所以我看疲倦時就會自己找些例子寫一寫,從最簡單的常見互動指令碼開始,最後也寫出了像20xx呀這種比較複雜的東西。在出錯的時候,再想想書中的理論知識,Google一下別人的經驗,對自己的提升都有很大的助益。

這本書不僅可以用來細讀,也可以當作參考書。有一次,一位做Android的朋友問我HTML5本地儲存機制,我剛好記得書上有,就趕忙拿出來翻看,結果果然有。還有其他許多實際應用時出現的問題我的都從這本書中找到了解決方法。