JavaScript中的 Window 和 window有什么关系?

新手上路,请多包涵

一个是首字母大写的Window,一个实首字母小写的window,同样的还有 Navigator / navigator, History / history , Document / document 等等,他们之间是什么关系?
按理说 Window 应该是类,然后 window 是实例对象,但是没有 new Window() ,然后 window 对象是内建对象。什么时候会使用 Window / Documen 这些首字母大写的对象?

阅读 5.2k
3 个回答

一言蔽之

window instanceof Window
document instanceof Doocument

通常不会使用到 WindowDocument

但是也不是说 Window 就永远只有 window 一个实例、 Document 就永远只有 document 一个实例。比如可以访问到 <iframe> 里面的 WindowDocument。再比如说 XMLHttpRequestresponseXML 属性就会返回一个 Document 的实例。

但是直接使用 WindowDocument 两个构造函数的情况,我还从来没遇到过。

这是在 Console 里面执行的结果

这是在浏览器 Console 里面执行的结果,Window 是一个函数, window 是一个对象。

接楼上的图,Window是一个函数,而window是Window的一个实例,是Window new出来的一个实例

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题