What is the difference between Window and window?
Window
is the constructor function that is used to create window
.
To see this, try alert(window.constructor === Window)
.
Window
is a function, as you can see. It's the constructor for the windows (but you can't build new windows directly with the constructor, you usually use the Window.open
function). Window.prototype
thus holds the methods you can call on the window).
window
is the global variable holding an instance of Window
, it represents the browser window containing your document (not really a "window" usually, rather a tab in modern browsers).
You can check that
window instanceof Window
is
true
console outputs from the Chrome browser:
console.log(window instanceof Window); // true
console.log(window.constructor === Window); // true
console.log(this); // Window {document:document, alert:ƒ, setTimeout:ƒ,..}
console.log(window); // Window {document:document, alert:ƒ, setTimeout:ƒ,..}
console.log(Window); // ƒ Window() { [native code] }