【讀書筆記】讀《JavaScript DOM 編程藝術-第2版》

一、DHTMLjava

  DHTML曾被認爲是HTML/XHTML、CSS和JavaScript相結合的產物,就像今天的HTML5那樣,但把這些東西真正凝聚在一塊兒的是DOM。若是真的須要來描述這一過程的話,「DOM腳本程序設計」更精確,它表示使用W3C DOM來處理文檔和樣式表。跨域

二、關聯數組數組

  數組的下標不侷限於數字,可使用字符串來標識語義的數組。瀏覽器

三、宿主對象服務器

  除了內建對象,還能夠在JavaScript腳本里使用一些已經預先定義好的其餘對象。這些對象不是有JavaScript語言自己而是由它的運行環境提供的。具體到WEB應用,這個環境就是瀏覽器。有瀏覽器提供的預約義對象被稱爲宿主對象。網絡

四、DOM定義函數

  D:當建立了一個網頁並把它加載到Web瀏覽器中時,DOM就在幕後悄然而生。它把你編寫的網頁文檔轉換爲一個文檔對象。設計

  O:是一種自足的數據集合。與某個特定對象相關聯的變量被稱爲這個對象的屬性;只能經過某個特定對象去調用的函數被稱爲這個對象的方法。JavaScript裏的對象分爲三種類型——對象

    1>     用戶自定義對象blog

    2>     內建對象:內建在JavaScript語言裏的對象,如String、Math、Date、Array、Event等

    3>     宿主對象:由瀏覽器提供的對象,如window、document等

  M:表明一種模型,DOM把一份文檔表示爲一棵樹,更具體的說,DOM把文檔表示爲一棵家譜樹。

五、節點(核心):元素節點、屬性節點、文本節點

六、獲取元素:

  getElementById

  getElementsByTagName

  getElementsByClassName(HTML5 DOM)

七、獲取和設置屬性

  getAttribute

  setAttribute

八、flash和JavaScript的遭遇

  會出現濫用、複製粘貼現成代碼的現象,而後這種現象會致使瀏覽器下載網頁的速度變慢,當人們使用這些腳本稱爲一種潮流的時候,那麼這種習慣就很難改正了。天然而然容易獲得很壞的名聲。

十、「javascirpt:」僞協議

讓咱們經過一個連接來調用JavaScript。

十一、無論何時,只要是查找DOM中的某些元素,瀏覽器都會搜索整個DOM樹,從中查找可能匹配的元素。

十二、通常來講,根據HTTP規範,瀏覽器每次從同一個域名中最多同時下載兩個文件。而在下載腳本期間,瀏覽器不會下載其餘任何文件,即便是來自不一樣域名文件也不會下載,全部其餘資源都要等腳本加載完畢後才能下載。

1三、Ajax技術的核心就是XMLHttpRequest對象。這個對象充當着瀏覽器中的腳本(客戶端)與服務器之間的中間人的角色。以往的請求都由瀏覽器發出,而JavaScript經過這個對象能夠本身發出請求,同時也本身處理響應。

1四、在使用Ajax時,千萬要注意同源策略。使用XMLHttpRequest對象發送的請求只能訪問與其所在的HTML處於同一域中的數據,不能向其餘域發送請求。此外,有些瀏覽器還限制Ajax請求使用的協議。好比在Chrome中,若是你使用file://協議從本身的硬盤裏加載example.txt文件,就會看到「Cross origin requests are only supported for HTTP」(跨域請求只支持HTTP協議)的錯誤消息。

1五、JavaScript不該該作什麼

  漸進加強原則基於這樣一種思想:你應該老是從最核心的部分,也就是從內容開始。應該根據內容是用標記實現良好的結構;而後再逐步增強這些內容。這些加強工做既能夠是經過CSS改進呈現效果,也可使經過DOM添加各類行爲。若是你正在是用DOM添加核心內容,那麼你添加的時機未免太遲了,內容應該在剛開始編寫文檔時就成爲文檔的組成部分。

  平穩退化:若是你按照漸進曾慶的原則去充實內容,你爲內容添加的樣式和行爲就天然支持平穩退化,那些缺少必要的CSS和DOM支持的訪問者仍能夠訪問到你的核心內容。若是你用JavaScript去添加這些重要內容,它就無法支持平穩退化,不支持JavaScript,就看不到內容。

1六、經常使用庫

         Dojo

         jQuery

         MooTools

         Prototype

         YUI

1七、內容分發網絡(CDN)

  爲了讓用戶儘量快地加載到頁面。對於庫來講,若是有不少站點要使用同一個庫,那麼最好是把這個庫託管一個公共服務器上,以便全部站點共享和訪問。這樣,當用戶從一個站點跳到另外一個站點時,他們就不用再重複下載相同的文件了。

  內容發佈網絡能夠解決分佈共享庫的問題。CDN就是一個由服務器構成的網絡,這個網絡的用途就是分散存儲一些公共的內容。CDN中的每臺服務器都包含庫的一份副本,這些服務器分佈在世界上不一樣的國家和地區,以便達到利用貸款和加快加載的目的。瀏覽器訪問庫的時候使用一個公共的URL,而CDN的底層則經過地理文職最近、速度最快的服務器提供相應的文件,從而解決了整個系統中的瓶頸問題。

1八、這本書的logo

  

相關文章
相關標籤/搜索