JS学习笔记(6. BOM)

简介

BOM是指window对象

1. window.变量

var声明的变量,都是挂载在window下。var a; 使用a相当于window.a

2. window.document

document(DOM)是window(BOM)下的对象,一般省略window.document的window直接使用document。

3. window.location

用于保存地址的各个属性。

location.href  // 赋值后可跳转地址

location.search // 返回地址栏 ? 后的部分

location.hash // 返回地址栏 # 后的部分

location.reload() // 刷新页面

location.reload(true) // 强制刷新,相当于ctrl+F5,从服务器重新获取数据

4. window.navigator

navigator.userAgent // 获取用户浏览器版本和平台,用于判断pc还是移动端进行相应处理

5. window.history

back() 后退, forward() 前进,go(参数) -1后退 1 前进

6. 本地存储

localstorage , sessionstorage 各有 5M容量

6.1 localstorage

浏览器刷新不丢失数据

新增,修改值:localstorage.setItem('key', val)

删除值:localstorage.removeItem('key')

获取值:localstorage.getItem('key') //得到字符串

备注:对象不能直接存,需要 JSON.stringify(对象) 转成字符存储。获取JSON.parse(字符串)转对象。

6.2 sessionstorage

使用同localstorage一样。但是关闭浏览器丢失sessionstorage数据。

7. JS执行机制

js是单线程的。运行同步和异步处理。

同步处理在主线程执行,异步处理放到任务队列执行,主线程执行完才会执行任务队列。

异步的3种情况:1 普通事件click等,2 load事件, 3 定时器 setTimeout, setInterval

通过浏览器实现多线程,主线程会反复查看任务队列是否完成。(叫做事件循环 event loop)

8. 定时器

8.1 setInterval(间歇函数)

先计时后执行。开启永不停止。

定义:setInterval(函数, 间隔时间毫秒) // setInterval(fn1, 1000), setInterval(function() {...}, 2000),

备注:传函数名不加小括号,'fn1()'引号括起来可以执行不推荐使用。

获取定时器ID:let id = setInterval(...)

关闭定时器:clearInterval(id)

8.2 setTimeout

先计时后执行。只执行1次。

定义:setTimeout(函数, 毫秒) // setTimeout(fn1, 1000)

清除定时器:clearTimeout(函数名) //平时只执行1次不需要清除。

你可能感兴趣的:(javascript,学习,笔记)