1. 程式人生 > >對《JavaScript DOM程式設計藝術(第2版)》的閱讀感受

對《JavaScript DOM程式設計藝術(第2版)》的閱讀感受

       嚴格來講這本書算是我接觸的JavaScript書籍中的第一本書,當時是因為萌生了想要好好學習一下JavaScript的想法,於是在度孃的幫助下選擇了這本書,跟紅皮書相比這本書的內容少而且淺顯易懂,絕對是JavaScript學習的入門經典書籍。

 內容概述

       第一章介紹了JavaScript的起源和當時所處的背景。我對一項新技術和新語言產生的背景比較熱衷,總想了解來龍去脈,在平時的工作學習中,對於新技術我趨向於先去學習該技術產生的原因和背景,這樣能夠加深對新技術的記憶。具體來看JavaScript語言,是為了能夠在瀏覽器動態操作網頁而產生的,當時其實也是有著很多類似JavaScript功能的技術或語言,但是時間最終選擇了JavaScript。

       第二章簡單介紹了下JavaScript的語法。

       第三章詳細介紹了DOM,而DOM在之前我也瞭解過,但是看了這本書之後又對DOM有了一個新的認識,主要有以下兩點:首先DOM是建立在靜態html檔案之上的抽象物件層,DOM將靜態的html文件中的標籤都抽象為一個個的物件,平時我們使用DOM修改網頁元素的屬性和內容等行為只會修改DOM抽象物件層的內容,而不會修改靜態原生的html檔案,通過瀏覽器的檢視原始碼功能就可以驗證;其次DOM是一個與語言無關的API,只要按照DOM的API規範,任何語言都能使用DOM來操作網頁元素,而我原先以為只有JavaScript才能使用DOM,換句話說以為DOM是JavaScript的專屬類庫,其實不是。

       第四章介紹一些DOM方法來展示DOM的使用。

       第五章介紹了用JavaScript開發過程中很重要的幾個思想:①平穩退化;②漸進增強;③分離JavaScript;④向後相容;⑤效能考慮。事實上平穩退化和漸進增強是一樣的,實現了漸進增強的指令碼必定也支援平穩退化。而第三點分離JavaScript是指把JavaScript指令碼部分單獨放到外部的js檔案,不要把JavaScript的指令碼程式碼放到html網頁中和內容混在一起,但是在實際工作中,為了圖方便基本都是將JavaScript程式碼直接和html網頁內容混在一起的,基本沒人會專門建立相關的js檔案,只能說今後要儘量養成分離的習慣。而向後相容的考慮在工作中也幾乎不體現,不管是自己還是別人,沒人會多做這方面的考慮或多寫這方面的程式碼,所以效能考慮也是如此,也許大公司的標準會嚴格些。

       第六章建立在第四章的基礎上,將第四章的練習加入第五章中所說的這些思想進行更改。其中讓我學習的部分是有關於DOM Core和HTML-DOM的,像getElementId這樣的DOM方法是屬於DOM Core的,是隨著DOM標準產生才有的,HTML-DOM是類似於element.src這樣,換成DOM Core就是element.setAttribute("src",""),HTML-DOM是隨著JavaScript的產生而生的,比標準的DOM要早,而且很重要的一點是HTML-DOM只能用於Web文件,也就是html文件,標準的DOM是能夠用於各種不同標記語言文件的,比如XML文件。

       第七章還是展示DOM方法的使用,主要介紹瞭如何使用DOM建立網頁元素。

       第八章介紹運用DOM方法充實網頁內容。

       第九章介紹DOM操作CSS樣式。

       第十章介紹JavaScript實現動畫效果。

       第十一章簡單介紹了下HTML5。

       第十二章綜合了前面所有的技術而展示了一個示例

       最後附錄講解了JavaScript庫的概念和簡單的用法,在平時的工作中如果一直使用DOM難免有些繁瑣,而使用JavaScript庫能夠以少得多的程式碼量或比DOM更簡便的方式實現同樣的功能,這就是JavaScript庫的主要作用。而JavaScript庫的核心就是對DOM的封裝,明白了DOM的內在原理自然也能夠駕馭不同的JavaScript庫了。

觀後感受

       總的來說這本書的內容不多,不是專門介紹語言和技術方法的書籍,書中只是介紹了JavaScript的基礎語法和DOM一些核心方法的使用。而整本書真正傳達的核心和精髓則是第五章的那幾個開發時要注意的幾點或者說開發思想,書中絕大部分篇幅都在借示例來展示這幾個思想的重要性。其實程式設計這東西就是這樣,真正厲害的那些大牛都是程式設計思想比較獨到的一些人,其中那些耳熟能詳的大師們都是因為具有創造性的思想而被世界熟知。語言和技術基本都是死的東西,只要多看多用就會了,而思想卻是活的,不斷在變化,在實踐的同時需要不斷思考加以領悟才能獲得,所以個人認為程式設計思想相較具體的技術或語言顯得更加寶貴一點,希望在今後的工作中不斷注重思想的積累。