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 }