Ogni proprietà dell'oggetto window
è una variabile globale. Ciò significa che è possibile fare qualcosa di simile:Qual è lo scopo del riferimento all'oggetto finestra in Javascript?
window.foo = 42;
alert(foo); //alerts 42
var bar = 3;
alert(window["bar"]); //alerts 3
A causa di questo, mi sono sempre chiesto quale sia lo scopo era referenziare window
in codice come questo
if(window.prompt("Enter Password") === "secret") {
window.location.hash = "authorized";
window.open("secretPage.html");
}
quando si poteva omettere window
e hanno codice che fa esattamente la stessa cosa:
if(prompt("Enter Password") === "secret") {
location.hash = "authorized";
open("secretPage.html");
}
Anche l'uso sembra incoerente; Non vedo quasi mai window.alert
ma vedrò spesso window.location
.
Alle persone piace solo fare riferimento a window
per rendere più dettagliato il loro codice? C'è qualche buona ragione per farlo che non conosco?
'window' è solo una proprietà dell'oggetto globale. – Saxoier
... che punta a se stesso. – Saxoier
Che è interessante, perché significa 'finestra === window.window.window.window.window.window' –