BOM(浏览器对象模型):提供用于访问浏览器的对象。
8.1 window对象window是BOM的核心对象,表示浏览器的一个实例。
JavaScript访问浏览器窗口的接口
ECMAScript规定的Global对象
8.1.1 全局作用域全局变量会成为window的属性,但是定义全局变量和直接在window对象上定义属性是有差别的——全局变量不能通过delete删除,但window对象上定义的可以。
这是因为使用var添加的window属性[[Configurable]]被设置为false(不可删除)。
访问未声明的变量会发生错误,但通过查询window对象,可以知道某个可能未声明的变量是否存在。
//这里会抛出错误,因为oldValue未定义 var newValue = oldValue; //这里不会抛出错误,因为这是一次属性查询 var newValue = window.oldValue; //newValue的值是undefined