BOM是指window对象
var声明的变量,都是挂载在window下。var a; 使用a相当于window.a
document(DOM)是window(BOM)下的对象,一般省略window.document的window直接使用document。
用于保存地址的各个属性。
location.href // 赋值后可跳转地址
location.search // 返回地址栏 ? 后的部分
location.hash // 返回地址栏 # 后的部分
location.reload() // 刷新页面
location.reload(true) // 强制刷新,相当于ctrl+F5,从服务器重新获取数据
navigator.userAgent // 获取用户浏览器版本和平台,用于判断pc还是移动端进行相应处理
back() 后退, forward() 前进,go(参数) -1后退 1 前进
localstorage , sessionstorage 各有 5M容量
浏览器刷新不丢失数据
新增,修改值:localstorage.setItem('key', val)
删除值:localstorage.removeItem('key')
获取值:localstorage.getItem('key') //得到字符串
备注:对象不能直接存,需要 JSON.stringify(对象) 转成字符存储。获取JSON.parse(字符串)转对象。
使用同localstorage一样。但是关闭浏览器丢失sessionstorage数据。
js是单线程的。运行同步和异步处理。
同步处理在主线程执行,异步处理放到任务队列执行,主线程执行完才会执行任务队列。
异步的3种情况:1 普通事件click等,2 load事件, 3 定时器 setTimeout, setInterval
通过浏览器实现多线程,主线程会反复查看任务队列是否完成。(叫做事件循环 event loop)
先计时后执行。开启永不停止。
定义:setInterval(函数, 间隔时间毫秒) // setInterval(fn1, 1000), setInterval(function() {...}, 2000),
备注:传函数名不加小括号,'fn1()'引号括起来可以执行不推荐使用。
获取定时器ID:let id = setInterval(...)
关闭定时器:clearInterval(id)
先计时后执行。只执行1次。
定义:setTimeout(函数, 毫秒) // setTimeout(fn1, 1000)
清除定时器:clearTimeout(函数名) //平时只执行1次不需要清除。