Javascript имеет функции setInterval и clearInterval для обработки асинхронных вызовов функций.
Есть ли разница между clearInterval(handle)
и window.clearInterval(handle)
?
Я видел, как его использовали в обоих направлениях.
Javascript имеет функции setInterval и clearInterval для обработки асинхронных вызовов функций.
Есть ли разница между clearInterval(handle)
и window.clearInterval(handle)
?
Я видел, как его использовали в обоих направлениях.
В браузере все глобальные функции неявно являются свойствами объекта window
. Так что clearInterval()
и window.clearInterval()
это одно и то же.
Между ними нет никакой разницы, если только вы не определите локальную функцию с именем clearInterval()
, и в этом случае window.clearInterval()
будет ссылаться на глобальную, а clearInterval()
— на локальную.
То же самое верно для любых глобальных функций, которые вы определяете сами.
Нет никакой реальной разницы
Это в основном то же самое, что и следующее, где глобальная переменная является свойством объекта окна.
var myvar = "hello";
alert(myvar);
alert(window.myvar);
или где глобальные функции являются свойствами объекта окна.
document.getElementById("myID");
window.document.getElementById("myID");
window
— объект глобального контекста. Если вы не находитесь в функции, область действия которой была изменена, всему, что вы вводите, неявно предшествует window.
.
var a = 0;
window.a = 0;
setTimeout(foo, 1000);
window.setTimeout(foo, 1000);
alert(this == window); //true