Bom籠統的說就是專門操做瀏覽器APIjavascript
不一樣的瀏覽器的Bom也不一樣,可是有一些是你們都承認通用的。java
Bom底下最大的對象就是window,window扮演了兩個角色web
一、替代global當作全局做用域對象
二、封裝了全部DOM和BOM的 API數組
那麼window底下有六個子對象瀏覽器
history:瀏覽器的歷史記錄
location:窗口的url 地址欄的信息
navigator: 瀏覽器的配置信息
document:DOM
screen:顯示設備的信息
event: 事件對象緩存
history對象的方法服務器
javascript:history.go(1)前進一個網頁dom
javascript:history.go(-1)後退一個網頁網站
那也可使用javascript:location.replace這種方式就是替換掉了如今棧裏面的地址,因此不能後退url
document對象就是咱們經常使用的dom
location.href 返回當前頁面的 href (URL)
location.hostname 返回 web 主機的域名
location.prot 端口號:用來區分一個服務器上的多個網站
location.hash 錨點
location.search 返回url後面的字符串
location.pathname 返回當前頁面的路徑或文件名
location.protocol 返回使用的 web 協議(http: 或 https:)
location.assign 加載新窗口
location.replace加載新窗口,可是這個不能後退,由於是用新的url替換了history中的舊url
location.reload(false/true)從新加載當前頁面
這個API中有個參數force:是否繞過緩存直接從服務器硬盤獲取數據 默認false,不強制
而後寫一個筆試題 如何獲取url後的每個搜索參數
function parseSearch(){
var search=location.search;
console.log(search)
var obj={
} var search1=search.slice(1); var str=search1.split("&"); for(var i=0;i<str.length;i++){ var arr=str[i],split("=");//按照等號分割成新數組 obj[arr[0]]=arr[1];//講數組中的0下標的元素當作屬性名,1下標的元素爲屬性值 } return obj;//循環接受後返回對象obj }