在Chrome和Firefox中,我可以在控制台中看到:
typeof Window
"function"
typeof window
"object"
你能解释一下区别吗?我的意思是,我一直认为窗口是顶级对象,现在我看到它实际上是一个函数,而窗口是一个对象。既然窗口是顶层对象,那么窗口应该是窗口的一种方法吗?有点困惑..。
还有一个物体就是..。
typeof Object
"function"
那么这三件事之间的关系是什么呢?
发布于 2015-12-25 15:13:58
window
是一个对象,Window
是它的构造函数。它类似于window
是对象,Window
是类。
window
是全局对象(而不是Window
),因此Window
作为其上的一个方法是唯一自然的。因为Window
是一个特例,所以您不能像使用RegExp或Date那样创建另一个new Window()
。
alert(window instanceof Window);
发布于 2015-12-25 14:55:05
Object
是一个创建新对象的构造函数(函数),Window
也是。window
是一个对象。
然而,window
在JavaScript中是一个非常特殊的对象/变量。任何全局变量都包含在窗口中!这就是为什么window.window.window
总是一样的原因,因为它总是指向主容器
您可以在这里阅读更多关于窗口的信息:https://developer.mozilla.org/en/docs/Web/API/Window,scope.asp
https://stackoverflow.com/questions/34467105
复制