JavaScript的BOM学习笔记——1、浏览器对象模型
大家好,我是阿赵。继续学习JavaScript,从这一篇开始学习BOM,内容会少一点,先介绍一下什么是BOM,还有BOM能做什么。
一、什么是BOM
BOM是浏览器对象模型(Browser Object Model),它提供的是与浏览器窗口进行交互的API。

在BOM里面,window对象是一个全局对象,是在JavaScript里面的顶级对象。
document、alert、console这些都是window的属性。在使用的过程中,可以把window省略。
验证一下:
<script>console.log(document === window.document); // true</script>

所有通过var定义在全局作用域的变量、函数都会变成window对象的属性和方法。但用let定义的变量并不是window的属性。
比如:
<script>let tempVal1 = 10;var tempVal2 = 20;console.log(window.tempVal1);console.log(window.tempVal2);</script>
结果:

二、 BOM可以做什么
1、 document
document是DOM的核心,所以DOM是包含在BOM里面的。BOM的范围比DOM更大一点。
2、 Navigator
浏览器对象,可以识别浏览器的类型,比如IE或者火狐。
3、 Location
表示的是浏览器的地址栏信息,可以通过Location跳转网页。
4、 History
可以查找浏览器的历史纪录。
5、 Screen
获取用户的屏幕信息。
6、 其他功能
除了上面说的几个主要功能外,BOM还可以实现一些其他功能,比如:
- 定时器
- 调用堆栈
- 消息队列
- 等

