JS clearInterval oder window.clearInterval?
-
27-10-2019 - |
Frage
Javascript verfügt über die Funktionen setInterval und clearInterval zur Verarbeitung asynchroner Funktionsaufrufe.
Gibt es einen Unterschied zwischen clearInterval(handle)
Und window.clearInterval(handle)
?
Ich habe gesehen, dass es in beide Richtungen verwendet wurde.
Lösung
In einem Browser sind alle globalen Funktionen implizit Eigenschaften von window
Objekt.Also clearInterval()
Und window.clearInterval()
sind genau das Gleiche.
Es gibt keinen Unterschied zwischen ihnen, es sei denn, Sie definieren eine lokale Funktion namens clearInterval()
, in welchem Fall window.clearInterval()
würde auf das globale verweisen und clearInterval()
würde auf die lokale verweisen.
Das Gleiche gilt für alle globalen Funktionen, die Sie selbst definieren.
Andere Tipps
Es gibt keinen wirklichen Unterschied
Dies ist im Grunde genommen das gleiche wie die folgende, an der globale Variable eine Eigenschaften des Fensterobjekts sind.
var myvar = "hello";
alert(myvar);
alert(window.myvar);
oder wo globale Funktionen Eigenschaften des Fensterobjekts sind.
document.getElementById("myID");
window.document.getElementById("myID");
window
ist das globale Kontextobjekt. Wenn Sie sich nicht in einer Funktion befinden, in der der Bereich geändert wurde, ist alles, was Sie eingeben, implizit vorausgesetzt window.
.
var a = 0;
window.a = 0;
setTimeout(foo, 1000);
window.setTimeout(foo, 1000);
alert(this == window); //true