BOM浏览器对象模型
- 能够说出什么是BOM
- 能够知道浏览器的*对象window
- 能够写出页面加载事件以及注意事项
- 能够写出两种定时器函数并说出区别
- 能够说出JS执行机制
- 能够使用location对象完成页面之间的跳转
- 能够知晓navigator对象涉及的属性
- 能够使用history提供的方法实现页面刷新
1.BOM概述
BOM是浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是window;BOM学习的是浏览器窗口交互的一些对象
2.window对象的常见事件
window.onload = function(){}新的方法:window.addEventListener("load",function(){})
如果页面中图片比较多,建议用DOMCtentLoaded事件,这个事件等DOM加载完毕,不等图片css就可以执行
调整窗口大小:window.onresize当窗口大小发生变化时就会触发这个事件
window.innerWidth获得当前尺寸的宽度;
3.两种定时器
window.setTimeout(调用函数,【延迟的毫秒数】)
回调函数callback
停止定时器:clearTimeout()
setInterval(回调函数,【间隔的毫秒数】);这个方法重复调用一个函数,每隔这个时间,就去调用一次回调函数
停止定时器操作:clearIterval()
this指向问题:1.在全局作用域或普通函数中this指向全局对象window()注意定时器里面的this指向window
2.方法调用中谁调用This指向谁
3.构造函数中This指向构造函数的实例
4.js执行队列
js是单线程的,h5提出了Web Worker标准,允许js脚本创建多个线程,于是有了同步和异步
同步任务都在主线程上执行,形成一个执行栈
js异步任务是通过回调函数实现的。一般而言:异步任务有以下三种类型:1.普通事件:如click,resize;2.资源加载:load,error;3.定时器:setInterval,setTimeout异步任务相关回调函数添加到任务队列中
异步进程处理:如果还没有点击先放入异步进程处理,等点击了再调用
由于主线程不断的重复获得任务,执行任务,再获取任务,再执行,所以这种机制被称为事件循环
5.location对象
location对象给我们提供了一个location属性用于获取或设置窗体的URL统一资源定位符,并且可以用于解析URL。
location.href获取或者设置整个URL;location.search返回参数
6.navigator对象
知晓浏览器用了哪个浏览器,手机还是电脑
7.history对象
back()后退功能;forward()前进界面;go(参数)