Objecte window
L'objecte window és l'objecte més important i fonamental en el desenvolupament de JavaScript al navegador. Representa la finestra del navegador (o pestanya) que conté el document DOM.
És, de fet, l'objecte global de JavaScript en l'entorn del navegador. Això vol dir que totes les variables, funcions i objectes declarats globalment sense prefix són, en realitat, propietats de l'objecte window.
Rols Clau de l'Objecte window
L'objecte window té tres rols principals en l'ecosistema del navegador:
1. Objecte Global
Totes les variables i funcions declarades globalment en un script formen part de l'objecte window.
var nomGlobal = "Marc";
function saluda() { console.log("Hola!"); }
// Podem accedir-hi com:
console.log(window.nomGlobal); // Marc
window.saluda(); // Hola!
2. API del Navegador (Browser API)
L'objecte window conté funcions i mètodes per manipular la finestra, gestionar les peticions asíncrones i interaccionar amb el dispositiu de l'usuari.
| Propietat / Mètode | Propòsit | Exemple |
alert(), prompt(), confirm() |
Mostra quadres de diàleg (alerts, inputs). | window.alert('Avís'); |
setTimeout(), setInterval() |
Gestiona la temporització de l'execució de funcions. | window.setTimeout(func, 1000); |
fetch() |
Inicia peticions de xarxa. | window.fetch('/api/data'); |
localStorage / sessionStorage |
Emmagatzematge de dades persistents al navegador. | window.localStorage.setItem(...) |
3. Contenidor del DOM i el BOM
L'objecte window conté altres objectes importants que formen part del Model d'Objectes del Navegador (BOM - Browser Object Model), i serveix com a porta d'entrada al Model d'Objectes del Document (DOM).
| Objecte / Propietat | Descripció |
document |
L'objecte que representa el DOM (el contingut HTML). Sense window, no podem manipular el document. |
location |
Informació sobre l'URL actual i mètodes per carregar noves URL. |
history |
Permet navegar endavant i endarrere en l'historial del navegador. |
navigator |
Informació sobre el propi navegador (versió, sistema operatiu, geolocalització). |
screen |
Informació sobre la pantalla de l'usuari (dimensions, resolució). |
Objecte window vs. Objecte document
Aquesta és una distinció crucial que sovint confon els principiants:
-
window: Representa la finestra del navegador (el marc o la pestanya). S'encarrega de l'entorn de l'aplicació, el temps, les URL i l'historial. -
document: Representa el contingut HTML dins d'aquesta finestra (el DOM). S'encarrega dels elements, textos i estils que es mostren.
En poques paraules: El document és una propietat de l'objecte window.
// window.document.getElementById('id'); és equivalent a:
document.getElementById('id');