BOM(浏览器对象模型),W3C为了把浏览器中javascript最基本的部分标准化,已经将BOM的主要方面归入了html5的规范中。javascript
8.1 window对象html
BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window有双重角色,它便是javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。html5
8.1.1 全局做用域java
全部在全局做用域中声明的变量、函数都会变成window对象的属性和方法。全局变量不能经过delete操做符删除(使用var语句添加的window属性有一个名为[[Configurable]],这个特性的值被设置为false,所以这样定义的属性不能够经过delete操做符删除),而直接在window对象上定义的属性能够。另外要记住,尝试访问未声明的变量会抛出错误,可是经过查询window对象,能够知识某个未声明的变量是否存在。浏览器
var newValue=oldValue;函数
var newValue=window.oldValue;//这里不会抛错,由于这是一次属性查询,newValue的值是undefined; htm
不少全局对象(location、navigator)实际上都是window对象的属性;对象