DOM編程
文檔對象模型,包括document自己和頁面上的各類標籤元素。DOM是訪問和控制文檔及標籤元素的API,經過DOM能夠查找、修改、添加、刪除標籤元素,還能夠添加事件監聽函數以響應頁面上的各類事件。H5新增了一些DOM API(如querySelector)在一程度上加強了DOM,但實際開發中,使用jQuery進行開發仍是很是廣泛的。由於jQuery不只提供了強大的DOM操做能力,並且可以解決瀏覽器兼容性問題。此外jQuery還提供了Ajax請求、動畫等實用功能,還提供了Callbacks、Deferred等高級API。瀏覽器
BOM函數
瀏覽器對象模型,包括window、location、history、navigator等動畫
window對象是全局做用域,window對象會隨頁面的加載或刷新而重置,即全局做用域生命週期相關的內容都會被銷燬。window對象提供了窗口相關的API,用於控制窗口及窗口與窗口之間的關係。window對象還提供了XHR、setTimeout、alert、WebWorker等各類編程接口和功能支持。實際上從window對象出發能夠訪問幾乎全部的Web API。url
location提供了與url相關的API,經過location提供的屬性能夠獲取url的各個組成部分。location還提供了對頁面進行導航控制的基本功能,如對href賦值、assign()、reload()、replace()方法等。值得注意的是location提供了hashchange事件,能夠監聽hash fragment的變化,這對於單頁Web應用中的路由機制提供了重要的支持。spa
history對象提供了瀏覽歷史記錄控制功能,如back()、forward()、go()等,H5還新增了狀態相關的API:state、pushState、replaceState配合window的popstate事件能夠爲路由機制提供重要的支持。操作系統
navigator對象提供了瀏覽器和操做系統信息的描述,如userAgent、H5還在navigator中加入了不少設備訪問功能,如geolocation、battery、vibrate等(瀏覽器目前支持不太好)。對象