Mentre aggiungevo un codice di inizializzazione a una pagina web, mi sono trovato a scrivere window.onload = ...
per l'ennesima volta, quando un pensiero mi colpì.Perché scriviamo la finestra?
Il window.
non è necessario, perché window
è l'oggetto corrente. Quindi è opzionale!
Ma nessuno scrive solo onload = ...
e mi chiedo perché sia così.
Voglio dire, non abbiamo remore a scrivere altre cose, ad esempio alert
senza il qualificatore window.
.
window.onload = function() {
alert('Your window has loaded');
};
mentre in realtà, alert
è altrettanto un metodo dell'oggetto window
come onload
è.
Quindi, perché la differenza? Perché anche siti web formali come lo W3C fanno questo?
È * esplicito *, quindi nessuno pensa che tu stia semplicemente assegnando accidentalmente una variabile globale. – Bergi
Mi piace questo argomento, in quanto spiega la differenza. Assegnare qualcosa a una variabile vs chiamare una funzione - non è possibile creare una nuova funzione semplicemente chiamandola, quindi è chiaro che la funzione esiste già da qualche parte. –
@Bergi Puoi pubblicare questo come una risposta? Penso che questo sia ancora l'argomento più convincente. –