BOM:是浏览器对象模型
开启延时器:setTimeout(回调函数,等到的毫秒数)
清除延时函数:clearTimeout()
延时器需要等待,后面的代码先执行,延时器属于window中的方法属性
const but = document.querySelector('button')
but.addEventListener('click', function () {
// setTimeout 属于window对象的方法 里面的this 默认是window对象
// setTimeout 使用this关键字 一定要慎用
setTimeout(function () {
but.disabled = true
}, 2000)
同步:前一个任务结束再执行后一个任务
异步:前一个任务还没有结束执行后一个任务,再执行 前一个任务
同步任务:同步任务都在主线程上执行,形成一个执行栈
异步任务:JS的异步是通过回调函数实现的
由于主线程不断地重复获得任务,执行任务,在获得任务,再执行任务就是事件循环
常用属性和方法:
通过 userAgent 检测浏览器的版本及平台
/ 检测 userAgent(浏览器信息)
!(function () {
const userAgent = navigator.userAgent
// 验证是否为Android或iPhone
const android = userAgent.match(/(Android);?[\s\/]+([\d.]+)?/)
const iphone = userAgent.match(/(iPhone\sOS)\s([\d_]+)/)
// 如果是Android或iPhone,则跳转至移动站点
if (android || iphone) {
location.href = 'http://m.itcast.cn'
}
})()
history 的数据类型是对象,主要管理历史记录, 该对象与浏览器地址栏的操作相对应
作用:可以将数据永久存储在本地(用户的电脑), 除非手动删除,否则关闭页面也会存在
存储复杂数据类型:
将复杂数据类型转换成JSON字符串(JSON.stringify(对象))
获取:将JSON字符串转换对象:
先获取字符串 localstorget.getItem(对象)
(JSON.parse(获取的字符串))