Gli oggetti Window e Document - acostaRossi/javascript-programs GitHub Wiki
Qual'è la differenza tra l'oggetto Window e l'oggetto Document ?
Quando JavaScript viene eseguito all'interno del browser, l'oggetto Window è l'oggetto globale JavaScript.
L'oggetto Document invece è una proprietà dell'oggetto Window.
L'oggetto Window rappresenta la finestra del browser.
L'oggetto Document rappresenta il documento HTML caricato in quella finestra.
L'oggetto Window ha molte proprietà utili come location e la funzione setTimeout.
Poiché l'oggetto Window è l'oggetto globale, non è necessario specificarlo esplicitamente quando si accede alle sue proprietà.
Invece di scrivere Window.setTimeout, puoi semplicemente scrivere setTimeout.
Lo stesso vale per Document, invece di Window.document, puoi semplicemente scrivere document.
Quando utilizziamo la keyword this ci stiamo riferendo all'oggetto Window.
Prova ad aprire la console del browser (F12), digita this e da invio
Come puoi notare this ritorna l'oggetto Window.
Attenzione però, l'uso della keyword this per recuperare l'oggetto Window non è una buona pratica.
Proviamo adesso a recuperare l'oggetto Document.
Come si può notare tutti e 3 i comandi eseguiti hanno prodotto lo stesso risultato, ovvero hanno ritornato l'oggetto Document.
La buona prassi ad ogni modo prevede di richiamare l'oggetto Document direttamente tramite la keyword document senza quindi il prefisso Window o this.