JS clearInterval o window.clearInterval?
-
27-10-2019 - |
Domanda
JavaScript ha funzioni setInterval e clearInterval per gestire le chiamate di funzione asincrone.
C'è una differenza tra clearInterval(handle)
e window.clearInterval(handle)
?
L'ho visto in uso in entrambe le direzioni.
Soluzione
In un browser, tutte le funzioni globali sono proprietà implicitamente dell'oggetto window
. Così clearInterval()
e window.clearInterval()
sono la stessa identica cosa.
Non v'è alcuna differenza tra loro a meno che non si definisce una funzione locale chiamato clearInterval()
, nel qual caso sarebbe window.clearInterval()
riferimento quella globale e clearInterval()
avrebbe riferimento quello locale.
Lo stesso sarebbe vero per le funzioni globali che ti definisci.
Altri suggerimenti
Non c'è una vera differenza
Questo è fondamentalmente lo stesso del seguente dove variabile globale sono una proprietà dell'oggetto finestra.
var myvar = "hello";
alert(myvar);
alert(window.myvar);
o dove le funzioni globali sono proprietà dell'oggetto finestra.
document.getElementById("myID");
window.document.getElementById("myID");
window
è l'oggetto contesto globale. Se non si è in una funzione che ha avuto lo scopo di modificare, tutto ciò che si digita è implicitamente preceduto da window.
.
var a = 0;
window.a = 0;
setTimeout(foo, 1000);
window.setTimeout(foo, 1000);
alert(this == window); //true