Every property of the window object is a global variable. This means you can do something like this:
window.foo = 42;
alert(foo); //alerts 42
var bar = 3;
alert(window["bar"]); //alerts 3
Because of this, I've always wondered what the purpose was of referencing window in code like this
if(window.prompt("Enter Password") === "secret") {
window.location.hash = "authorized";
window.open("secretPage.html");
}
when you could omit window and have code that does exactly the same thing:
if(prompt("Enter Password") === "secret") {
location.hash = "authorized";
open("secretPage.html");
}
The use also seems inconsistent; I almost never see window.alert but I'll frequently see window.location.
Do people just like referencing window to make their code more verbose? Is there some good reason for doing this that I don't know about?
windowis just a property of the global object.window === window.window.window.window.window.windowalert(),window.alert()orwindow. window. window.alert(). (eval()is an exeption) In the global scope you can also usethis.alert()