1.BOM
简介: bom为我们提供对象,通过这组对象可以完成浏览器的各种操作(操纵浏览器)
BOM对象 | |
Window | 代表浏览器窗口(全局对象) |
Navigator | 浏览器的对象(可以用来识别浏览器) |
Location | 浏览器的地址栏信息 |
History | 浏览器的历史记录(控制浏览器前进,后退) |
Screen | 屏幕的信息 |
BOM对象都是作为window对象的属性保存的,所以可以直接在JS中访问这些对象
2.Navigator
3.Location 浏览器的地址栏信息
直接将location的值修改为一个新的地址 | 使得网页发生跳转 |
location.assign() | 跳转到一个新的地址 |
location.replace() | 跳转到一个新的地址(无法通过回退按钮回退) |
location.reload() | 刷新页面,在括号内为true时,强制清缓存(刷新后) |
location.href | 获取当前地址 |
4.History 历史记录
history.back() | 回退按钮 |
history.forward() | 前进按钮 |
history.go() | 前进和后退, 前进正数,后退负数 |
5.定时器
简介:通过定时器,可以让代码在指定时间后执行
setTimeout() | 在指定时间后执行一次 |
setInterval() | 每间隔一段时间代码就会执行一次 |
参数 | 1.回调函数(要执行的代码) 2. 间隔的时间(毫秒) |
关闭回调函数 | clearTimeout() clearInterval() |
在调用时,需要将对应的定时器的变量名传递 | 例 let aa =setTimeout(xx,xx) clearTimeout(aa) |
6.调用栈和消息队列
调用栈:存储正在执行的函数
消息队列:存储将要执行的函数
可以通过f12 ,打端点查看调用堆栈查看调用栈
7.定时器本质
定时器本质:在指定时间后将函数添加到消息队列中
setInterval() 每间隔一段时间就将函数添加到消息队列中但是如果函数执行的速度比较慢,它是无法确保每次执行的间隔是一样的,所以用setTimeout