BOM(browser object model)
BOM(browser object model)-提供了操作浏览器的标准
window
window-对于浏览器操作的顶级对象
navigator
window.navigator - 记录浏览器信息
window.navigator.appName - 浏览器名称
window.navigator.appCodeName - 浏览器内核名称
window.navigator.appVersion - 浏览器版本
window.navigator.useAgent - 用户信息
history
window.history - 操作历史记录
window.history.back() - 后退一个页面
window.history.forward() - 前进一个页面
window.history.go(数字) - 前进的数字是整数,后退的数字是负数;
数字是几,就是前进或后退几个页面
location
window.location - 操作地址栏
window.location.href - 获取/设置当前完整地址
window.location.search - 获取/设置当前地址栏中的数据部分
window.location.hash - 获取/设置地址栏中的锚点
window.location.assign() - 跳转网页-能后退
window.location.replace() - 跳转网页-不能后退
window.loaction.reload() - 页面刷新
浏览器大小
window.innerWidth - 获取浏览器的宽度-包含滚动条
window.innerHeight - 获取浏览器的高度-包含滚动条
弹出层
window.alert()、
window.confirm()、
window.prompt() --- 都是属于window的方法
定义在全局中的变量和函数其实都是window的属性和方法,只是平常在使用的时候,将window省略了
事件
window.onload - 当浏览器中所有资源都加载完成了才触发
window.onscroll - 当浏览器的滚动条滚动了就会触发
window.onresize - 当浏览器窗口大小改变就会触发的事件
定时器
setinterval() - 每隔一段时间就执行函数一次,不停的执行
setTimeout() - 延迟一段时间执行函数一次,就一次
相同点:
参数1:函数 参数2:毫秒数
返回值:都代表当前页面中的第几个定时器,可以用来停止定时器
停止定时器:clearinterval(返回值)
clearTimeout(返回值)
异步代码:
异步代码的概念 - 同时执行的代码
js中如何执行异步代码:
js执行代码在调用栈中
调用栈将代码按照顺序放进来
同步代码直接执行,异步代码交给浏览器
调用栈会一口气将所有同步代码都先执行结束,然后到队列中找是否有需要执行的代码
浏览器接收到异步代码后,就开始计时,当时间到了代码该执行了,
会将代码放在队列中排队等待调用栈执行他
js中异步代码永远在所有同步代码后面执行
定时器给出的时间不精准