JS clearInterval ou window.clearInterval?
-
27-10-2019 - |
Question
Javascript fonctions setInterval et clearInterval pour le traitement des appels de fonctions asynchrones.
Y at-il une différence entre clearInterval(handle)
et window.clearInterval(handle)
?
Je l'ai vu utilisé dans les deux sens.
La solution
Dans un navigateur, toutes les fonctions globales sont des propriétés implicitement de l'objet window
. Alors clearInterval()
et window.clearInterval()
sont exactement la même chose.
Il n'y a pas de différence entre eux, sauf si vous définissez une fonction locale appelée clearInterval()
, auquel cas window.clearInterval()
renverrait celui global et clearInterval()
renverrait le local.
La même chose serait vraie pour toutes les fonctions globales que vous vous définissez.
Autres conseils
Il n'y a pas de différence réelle
Ceci est essentiellement identique à la suivante, où la variable globale est une des propriétés de l'objet de la fenêtre.
var myvar = "hello";
alert(myvar);
alert(window.myvar);
ou lorsque les fonctions globales sont des propriétés de l'objet de la fenêtre.
document.getElementById("myID");
window.document.getElementById("myID");
window
est l'objet contexte mondial. Si vous n'êtes pas dans une fonction qui a eu sa portée modifiée, tout ce que vous tapez est implicitement précédé par window.
.
var a = 0;
window.a = 0;
setTimeout(foo, 1000);
window.setTimeout(foo, 1000);
alert(this == window); //true