BOM是什么
BOM(Browser Object Model)即浏览器对象模型
,核心是window,提供了独立于内容而与浏览器窗口进行交互的对象
。
- BOM缺乏标准,兼容性比较差,是浏览器厂商在各自浏览器上定义的
window对象的双重角色:
- JS访问浏览器窗口的一个接口
- 定义在全局作用域中的变量、函数都会变成window对象的属性和方法。在调用时可以省略window
注 :window中一个特殊属性window.name
window对象常见的事件
窗口加载事件
window.onload
,当文档内容完全加载完成会触发该事件,就调用的处理函数。可以实现JS在主体之前而可以顺利运行。
window.onload = function(){} /*会有冲突的问题,只能写一个*/
或
window.addEventListener("load",function(){}) /*不会有冲突的问题,没有限制*/
document.addEventListener('DOMContentLoaded',function(){})
DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等。
适用于页面图片多的情况,加载速度更快
调整窗口大小事件
window.onresize = function(){}
或
window.addEventListener("resize",function(){})
经常用它做响应式布局
定时器
setTimeOut()定时器,在定时器到期后执行调用函数
window.setTimeOut(调用函数/函数名,[延迟的毫秒数])
window可以省略,毫秒数也可省略,默认为0
setTimeOut()的调用函数也称回调函数callback
定时关闭:
停止setTimeOut()定时器
(window.)clearTimeOut(timeout ID)定时器标识符
setInterval()定时器
重复调用一个函数,每隔一段时间,就去调用一次函数,其他注意事项与setTimeOut相同
可以做倒计时,如下
停止setInterval()定时器
(window.)clearInterval(timeout ID)定时器标识符
location对象
作用:
- 获取或设置窗体的URL(统一资源定位符,是互联网上标准资源的地址)
- 解析URL
window.location.href 返回当前页面的 href (URL)
window.location.hostname 返回 web 主机的域名
window.location.pathname 返回当前页面的路径或文件名
window.location.protocol 返回使用的 web 协议(http: 或 https:)
window.location.assign 加载新文档
history对象
history.back() - 等同于在浏览器点击后退按钮
history.forward() - 等同于在浏览器中点击前进按钮
navigator对象
navigator.appName返回浏览器的应用程序名称
navigator.appCodeName返回浏览器的应用程序代码名称
navigator.platform返回浏览器平台(操作系统)
还有些地方写的不充分,期待学长学姐的讲解~