一、BOM概述
BOM: Browser Object Model 浏览器对象模型
1.1 什么是BOM
浏览器对象模型(BOM)是JavaScript的组成之一,他提供了独立与内容与浏览器窗口进行交互的对象,使用浏览器对象模型可以实现与HTML的交互。
ECMAScript是 JavaScript的核心,但如果要在 Web中使用 JavaScript,那么 BOM(浏览器对象模
型)则无疑才是真正的核心。BOM 提供了很多对象,用于访问浏览器的功能,这些功能与任
何网页内容无关。
1.2 BOM的作用
将相关的元素组织包装起来,提供给程序设计人员使用,从而降低开发人员的工作量,提供设计Web页面的能力.BOM是一个分层结构。
二、BOM核心---window对象
2.1 window对象
BOM 的核心对象是 window ,它表示浏览器的一个实例。在浏览器中, window 对象有双重角色,
它既是通过 JavaScript 访问浏览器窗口的一个接口,又是 ECMAScript 规定的 Global 对象。
通过window可以操作整个浏览器。
BOM图谱:
window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
2.1.1 全局作用域
由于 window 对象同时扮演着 ECMAScript中 Global 对象的角色,因此所有在全局作用域中声明
的变量、函数都会变成 window 对象的属性和方法。
注意:有三种获取全局变量的方式。
var age = 29; //声明一个全局变量
function sayAge() { //声明一个全局函数
alert(this.age);//this表示,调用这个函数时使用的对象。将来是通过window调用的,所以this指代的window
}
// 全局变量成为了window对象的属性。 所以可以通过window.age访问
alert(window.age); //29
sayAge(); //29
// 全局函数成为了window对象的方法。 所以可以通过window.sagAge() 来访问。
window.sayAge(); //29
</script>
//提示:虽然可以通过window对象来调用,但是实际开发的时,一般都省略window。```
##2.1.2 window窗口大小
>A. 有三种方式获取浏览器的窗口大小:(浏览器的视口,不包括工具栏和滚动条)
1.在Internet Explorer(9+)、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度
```var msg = "窗口宽度:" + window.innerHeight + "\n窗口高度:" + window.innerWidth;
alert(msg );```
#先写到这吧!!