JavaScript(三)--BOM
BOM浏览器对象模型
window对象是一个全局对象
var定义的全局作用域中的变量、函数都会成为window对象的属性和方法
调用时可省window
延时函数
let timer = setTimeout(回调函数,等待毫秒数)
clearTImeout(timer)
JS执行机制
单线程(同一时间只能做一件事)
H5提出新标准,允许js创建多线程,因此 出现了异步和同步
同步任务:在主线程上执行,形成一个执行栈
异步任务:添加到任务队列(也称消息队列)
js执行机制:先执行执行栈里的同步任务,当同步任务执行完毕,按序去读取任务队列里的异步任务,被读取的异步任务结束等待状态,进入执行栈,开始执行。
主线程不断从任务队列获得任务、执行任务、再获得、再执行,我们称这种机制为事件循环。
location对象 拆分并保存URL地址的各个部分
href属性获取完整的URL地址
location.href="https://www.baidu.com?id=1"
search属性获取携带参数,?
hash属性获取地址中的hash值,#
reload方法用来刷新页面
navigation对象 记录浏览器相关信息
常用userAgent检测浏览器自身的相关信息
history对象 管理历史记录
back() 后退
forward() 前进
go(参数) 前进/后退几个页面
screen对象
本地存储 localStorage 可永久存储于本地,需手动删除
存储
localStorage.setItem(key,value)
获取
localStorage.getItem(key)
删除
localStorage.removeItem(key)
会话存储 sessionStorage 关闭浏览器被清除
存储复杂类型数据
本地只能存储字符串,所以需要将复杂数据转换成JSON字符串,在存储到本地
JSON.stringify()
取出时再将字符串转换为原来的数据类型
JSON.parse(js字符串)