Javascript高級編程學習筆記(1)—— JS簡介

此係列文章,用於記錄所學,若有錯誤歡迎指出。css

Javascript組成

1.核心(ECMAScript)html

2.文檔對象模型(DOM)前端

3.瀏覽器對象模型(BOM)node

 

1.核心(ECMAScript)

ECMAScript說白了是定義Javascript的標準,而這種標準與瀏覽器並沒有依賴關係。瀏覽器

咱們如今前端所使用的Javascript只是遵循這一標準的,以瀏覽器爲宿主平臺的腳本語言。cookie

遵循這一標準的腳本語言均可以稱之爲js。dom

而js的宿主平臺除了咱們最經常使用的瀏覽器平臺以外,還有node,和Adobe flash等。xml

 

而這一部分的主要內容,通常指的是js的數據類型,變量的聲明,語法等htm

 

2.DOM 文檔對象模型

Dom這個概念相信許多人都知道對象

那麼它具體是啥呢?

我在看JS高編以前也是知道有dom節點,bom節點等。但這個dom究竟是什麼呢?

 

我根據書中的描述是這樣理解dom的。

dom至關因而對xml拓展後的針對html的API。

這麼說可能不太好理解,那麼這樣說吧。

dom先將html頁面映射爲一個多層的有許多節點的對象,而後dom向咱們提供一個操做這些映射的節點的方法。

咱們經過這些操做節點的API來操做頁面中的節點。

而dom節點就是咱們能夠經過這些API操做的節點(我是這樣理解的)

 

在知道dom大概是啥以後,另外一個問題隨之而來。

DOM的級別?

我以前也在許多地方見過相似於DOM0級,DOM2級這樣的概念。

那這裏的DOM級別又指的是什麼呢?

咱們都知道,不一樣的瀏覽器之間有兼容性問題。

這種不一樣瀏覽器之間的差別,在不一樣的瀏覽器的DOM對象之間固然也是存在的。

這裏就是IE在搞事了,低版本ie無論是獲取節點的樣式,仍是其餘的dom操做都和咱們如今經常使用的有所區別。

 

那麼DOM級別就是一個針對DOM的標準的版本,意思就是DOM對象由W3C制定了一套全部瀏覽器DOM都應該遵照的標準。

而後這個標準隨着時間的推移有着不一樣的版本,對應不一樣版本標準的DOM對象就分出了級別。

 

首先是DOM0級,咱們常說onclick 這些用戶事件是dom0級事件,然而實際上dom0級是不存在的,這個版本指的每每是最初的DHTML的那個版本。

後面對DOM的標準的更新都以此爲參考點,因此有了DOM一、DOM二、DOM3。

 

而後是DOM1,這個版本的標準主要針對的是規範dom映射事後的文檔結構。

主要分爲了兩個部分,第一個部分:DOM核心 用於規定如何映射html文檔結構

第二個部分:DOMhtml 定義了一些針對html的對象和方法。

這個版本是沒有規定用戶事件的相關標準的,因此咱們常說的只有DOM0級事件 DOM2級事件 而沒有DOM1級事件。

 

其次是DOM2,這個版本針對的就是頁面了

好比一些對css樣式操做的支持,擴充了鼠標和用戶事件,拓展支持XML命名空間

在這個版本主要分爲如下幾個板塊:

1. DOM視圖:用於跟蹤文檔

2.DOM事件:事件和時間的處理

3.DOM樣式:操做CSS的樣式接口

4.DOM遍歷和範圍:如何遍歷文檔樹和操做文檔樹

 

最後是DOM3,這個版本擴充了一些鍵盤的用戶事件

添加了加載和保存文檔的方法。

新增驗證文檔的方法。

對dom核心進行拓展:支持XML1.0

 

3.BOM 瀏覽器對象模型

Bom相似於DOM,他兩的區別從名字上咱們就能夠看出端倪。

DOM是針對操做文檔樹的API接口,那麼BOM對象就是用於操做瀏覽器行爲的。

BOM的主要功能有:

1.彈出新瀏覽器窗口

2.移動、縮放、關閉窗口

3.提供瀏覽器的詳細信息(navigator)

 

4.提供頁面詳細信息(location)

 

5.提供用戶屏幕分辨率等信息(screen)

 

6.對cookie的支持

7.XMLHttpRequest 和 ActiveXObject

用於上述操做的對象能夠說都是BOM

相關文章
相關標籤/搜索