BOM概述
BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是window。
浏览器顶级对象window
window对象是浏览器的顶级对象,它具有双重角色。
1.它是js访问浏览器窗口的一个接口
2.它是一个全局对象。定义在全局作用域中的变量,函数都会变成window对象的属性和方法。
页面加载事件以及注意事项
<button>点击</button>
<script>
var btn=document.querySelector('button')
btn.addEventLister('click',function(){
alert('点击我')
})
</script>
1.窗口加载事件
window.onload=function(){}
或者
window.addEventLister("load",function(){})
//当文档内容完全加载完成会触发该事件,调用处理函数
window.onload传统注册事件的方式只能写一次,如果有多个,会以最后一个window.onload为准
3.如果使用addEventLister则没有限制
调整窗口大小事件
window.onresize=function(){}
window.addEventLister("resize",funciton(){})
//window.innerWidth当前屏幕的宽度
定时器
两种定时器:setTimeout(),setInterval()
js执行机制
js单线程,同一时间只能做一件事,
html5,提出webWorker,允许javascript脚本创建多个线程,js出现了同步和异步。
this指向
1.在全局作用域或者普通函数this指向全局对象window
2.方法调用中谁调用this指向谁
3.构造函数中this指向构造函数的实例
location对象完成页面之间跳转
window对象给我们提供了一个location属性,用户获取或者设置窗体的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。
URL:统一资源定位符,每个文件都有一个唯一的url,班汉的信息指出文件的位置以及浏览器应该怎么处理它。
location.href:获取或者设置整个URL
location.host:返回主机(域名)
location.port:返回端口好
locaiton.pathname:返回路径
location.search :返回参数
location.hash :返回片段#后面内容
常用方法:
locaiton.assign():跟href一样,可以跳转页面,也称为重定向页面
location.replace():替换当前页面,因为不记录历史,所以不能后退页面
location.reload:重新加载页面,相当于刷新或者f5,强制刷新ctrl+f5
navigator对象涉及的属性
navitator对象包含有关浏览器的信息,它有很多属性,我们最常见的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值。
history提供的方法实现页面刷新
window对象给我们提供了一个history对象,与浏览器历史记录进行交互,该对象包含用户(在浏览器窗口中)访问过的URL,