BOM概述
BOM全称为:Browser Object Model,即浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象,(也可以理解为BOM提供了与网页无关的浏览器功能对象)其核心对象是window.需要了解的是BOM是在缺乏规范的背景下发展起来的,也就是说BOM缺乏标准,Javascript语法的标准化组织是ECMA,DOM的标准化组织是W3C,而HTML5 规范中有一部分涵盖了 BOM 的主要内容,因为 W3C 希望将JavaScript 在浏览器中最基础的部分标准化。
BOM的构成如图所示:
1.window对象
BOM 的核心是 window 对象,表示浏览器的实例。window 对象在浏览器中有两重身份,一个是ECMAScript 中的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。这意味着网页中定义的所有对象、变量和函数都以 window 作为其 Global 对象,都可以访问其上定义全局方法。
1.1Global作用域
因为window对象在ECMAScript中是Global对象,所以通过var声明的所有全局变量和函数都会变成window对象的属性和方法。
<script>
var name = 'zhangsan';//在全局中定义一个变量name并赋值zhangsan
var sayName = function () {//在全局变量中定义一个方法
console.log(this.name)