Window 对象
Window 对象window 对象有一系列的属性,这些属性本身也是对象。
Window 对象的属性属性含义applicationCache(只读)返回该 window 中的应用缓存对象的一个引用。caches(只读)返回了与当前上下文紧密相关的 CacheStorage 对象。❗️closed(只读)指示引用窗口关闭或没有。❗️consolewindow.console 提供了向浏览器控制台输出日志信息的方法(log、info、warn、error等)。cryptowindow.crypto 只读属性返回与全局对象关联的 Crypto 对象。 此对象允许网页访问某些加密相关服务。customElements返回一个 CustomElementRegistry 对象的引用,可以用于注册一个新的 custom elements,并且可以用于获取之前定义过的自定义元素的信息。❗️devicePixelRatio此属性返回当前显示设备的物理像素分辨率与 CSS 像素分辨率的比值。document指向当前窗口内的文档节点。❗️frameElement返回嵌入当前 window 对象的元素(比如
抛开全局变量会成为 window 对象的属性不谈,定义全局变量与在 Window 对象上直接定义属性还是有一点差别:全局变量不能通过 delete 操作符删除,而直接在 window 对象上的定义的属性可以。
这是因为,通过 var 语句添加的 window 属性有一个名为 [[Configurable]] 的特性,这个特性的值被设置为 false,因此这样定义的属性不可以通过 delete 操作符删除。IE8 及更早版本在遇到 delete 删除 window 属性的语句时,不管该属性最初是如何创建的,都会抛出错误,以示警告。IE9 及更高版本不会抛出错误。
尝试访问未声明的变量会抛出错误,但是通过查询 window 对象,可以知道某个可能未声明的变量是否存在。