定时器
- 定时器:让程序按指定时间间隔,自动执行任务,任务是所有定时器的核心
- 分类
- 周期性定时器:让浏览器按指定时间间隔反复执行同一任务
- 何时使用:一项任务,连续执行
- 如何使用:3步
- 定义任务函数:定义了定时器每一次执行的任务
- function task(){…}
- 启动定时器:将任务函数放入定时器API中,设定时间间隔,最后返回定时器的序号
- timer = setInterval(task,ms);
- 停止定时器:只能通过序号,停止定时器
- clearInterval(timer);
- timer = null;
- 定义任务函数:定义了定时器每一次执行的任务
- 一次性定时器:让浏览器先等待一段时间后,再自动执行一次任务
- 如何使用:同周期性定时器,只是将Interval换为Timeout
- 执行:先等待指定时间,再执行一次,自动退出。
- 注意:定时器的回调函数必须等待主程序执行完才能执行,如果主程序没有执行完,或被阻塞,定时器回调函数永远无法执行。
- 周期性定时器:让浏览器按指定时间间隔反复执行同一任务
- 固定套路:利用一次性定时器模拟周期性定时器的效果
- 何时使用:多个任务叠加在一起,避免反复创建多个周期性定时器,任务可能频繁停止和频繁启动
BOM常用对象
- navigator:window中封装浏览器属性和配置信息的对象
- cookieEnabled:识别浏览器是否启用cookie,返回值true/false
- userAgent:保存了浏览器名称和版本的字符串
- plugins:保存浏览器中所有插件信息的集合,每个plugin对象的name属性保存了插件的名称
- screen:保存显示屏信息的对象
- history:保存窗口的历史记录栈
- location:指代当前窗口正在访问的url地址对象
- location.href:保存了当前窗口正在访问的url地址,设置href属性为新url,会在当前窗口打开新url
- location.assign(url):设置当前窗口的新url
- location.reload(true/false):true —— 无论是否更改,都获取更新;false —— 被修改的页面,重新获取,未被修改的页面,从缓冲获取