浏覽器為我們提供了對象的層次結構,我們可以用它來控制和通路不同的資訊比如時間,螢幕,頁面,元素等等。
浏覽器為開發者提供許多通向對象層次的入口供開發者操作。從下圖你可以看到一部分:
浏覽器結構
最頂層為window,也可以調用全局對象。所有的對象由三個部分組成
文檔及相關對象允許通路頁面中的内容,修改元素等等。大部分與html的互動在這裡進行操作。
有一群dom标準被w3c開發,你可以在w3c dom找到更多内容。dom有三個級别,每個級别擴充了前一個的内容。現代浏覽器支援從浏覽器黑暗時期的w3c早期功能,稱為dom 0.
bom是一群可以控制浏覽器的對象,例如目前url,通路frame,使用xmlhttprequest做背景請求。函數例如alert, confirm, prompt 也屬于bom,他們是由浏覽器提供的。
很多的bom功能被html5标準化,但不是所有。
javascript本身是一個語言,它讓我們可以通路dom,bom,對象和函數。
javascript遵循ecma-262标準。
window全局對象混合了浏覽器視窗函數(focus(), open()等等)和javascript全局對象。這是它被畫成綠色和紅色的原因。
盡管這些很理論化,但還是了解為好。
為了幫助你解決問題和進一步學習,你有必要閱讀dom和其他相關标準。