Bom笼统的说就是专门操作浏览器API
不同的浏览器的Bom也不同,但是有一些是大家都认可通用的。
Bom底下最大的对象就是window,window扮演了两个角色
1、替代global当做全局作用域对象
2、封装了所有DOM和BOM的 API
那么window底下有六个子对象
history:浏览器的历史记录
location:窗口的url 地址栏的信息
navigator: 浏览器的配置信息
document:DOM
screen:显示设备的信息
event: 事件对象
history对象的方法
javascript:history.go(1)前进一个网页
javascript:history.go(-1)后退一个网页
那也可以使用javascript:location.replace这种方式就是替换掉了现在栈里面的地址,所以不能后退
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
}