咱們常常習慣性認爲Javascript就是ECMAScript,但其實不是這樣的。瀏覽器
ECMAScript是一種腳本在語法和語義上的標準。函數
主要包括:語法、類型、語句、關鍵字、保留字、操做符、對象。對象
它與瀏覽器之間,沒有半毛錢關係。blog
而Javascript是基於ECMAScript標準實現的。Javascript不單單包括ECMAScript,它其實還包含了其餘東西。接口
Javascript主要由三個部分組成,見下圖:ip
在上面ECMAScript與Javascript的比較中,已經談了ECMAScript了。變量
下面,咱們來看看DOM和BOM究竟是什麼呢?語法
DOM(Document Object Model)是HTML和XML的應用程序接口(API),W3C的標準即事爲它而制定。程序
BOM(Browser Object Model)是提供與瀏覽器進行交互的方法和接口,因爲不一樣的瀏覽器實現方法不一樣,從而表現也可能不一樣。方法
且BOM的核心是window對象,而window又是一個全局對象,這就意味着網頁中定義的任何對象、變量、函數都是以window做爲全局對象的。
而且能夠這麼說,BOM是包含了DOM。
爲何呢?
由於DOM是經過document來訪問、檢索、修改網頁內容與結構的,但DOM中的window又包含了這個document屬性。
DOM與BOM的具體狀況,能夠從下圖看出: