<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BOM</title>
<style>
</style>
<script>
window.onload = function() {
console.log(window);
console.log(navigator);
console.log(navigator.appName);
console.log(navigator.userAgent);
console.log(window.ActiveXObject);
console.log(location);
console.log(history);
console.log(history.length);
console.log(screen);
var p1 = document.querySelector(".p1");
var m = 0;
var timer = setInterval(function() {
p1.innerHTML = m++;
if(m == 5) {
clearInterval(timer)
}
}, 1000)
console.log(timer);
}
</script>
</head>
<body>
<p class="p1"></p>
</body>
</html>
- BOM:浏览器对象模型;通过JS来操作浏览器;为我们提供了一组对象,可以用来操作浏览器;
- BOM对象:window(网页中全局对象,整个浏览器窗口)、navigator(当前浏览器信息,用来识别不同浏览器)、location(浏览器的地址栏,可以获取地址信息,操作跳转页面)、history(获取历史信息,由于隐私,只能操作浏览器向前向后返回)、screen(用户屏幕信息,获取用户的显示器信息);
- window:alert():弹出框、prompt():输入;、confirm():有确定取消选项;setInterval():定时调用,参数:1.回调函数;2.回调时间,单位毫秒;有返回值:number数据类型,用来唯一表示该定时器;clearInterval():参数:定时器的唯一标识,可以接受任意参数,如果是有效定时器参数,则停止,如果不是有效定时器,则什么也不会做;点击多次开启定时器会导致越来越快,而且每次都是将最新的定时器赋值给timer,所以之前的定时器就会关不了,所以需要每开启定时器之前就要关闭原有的定时器;setTimeout():延时调用,函数到时间后调用,只执行一次;clearTimeout():关闭延时调用;
- navigator:userAgent属性:是一个字符串,包含描述浏览器信息的内容;里面就会包含有哪一个浏览器;找ie浏览器可以通过它特有window属性(ActiveObject)找;
- history:length:访问到当前访问的链接数量;back():回退到上一个页面,和浏览器自带功能一样;forward():跳回上一个页面,和浏览器前进一样;go():跳转到指定页面,需要整数做参数,1向前跳一个页面、-1向后跳一个;2、-2;
- location:直接打印,可以获取地址栏信息,直接修改为一个绝对/相对路劲,会自动跳转,并生成响应的历史记录;assign():直接加载新的页面,和直接修改一样;reload():重新加载页面,和刷新一样,传参数true则表示强制清空缓存刷新页面;replace():使用新的页面,替换当前页面,也会跳转,但不会生成历史记录,不能回退;
- BOM对象是作为window的属性来使用的,可以window来使用也可以直接使用;