JS clearInterval или window.clearInterval?

Javascript имеет функции setInterval и clearInterval для обработки асинхронных вызовов функций.

Есть ли разница между clearInterval(handle) и window.clearInterval(handle)?

Я видел, как его использовали в обоих направлениях.


person TheOne    schedule 01.12.2011    source источник


Ответы (3)


В браузере все глобальные функции неявно являются свойствами объекта window. Так что clearInterval() и window.clearInterval() это одно и то же.

Между ними нет никакой разницы, если только вы не определите локальную функцию с именем clearInterval(), и в этом случае window.clearInterval() будет ссылаться на глобальную, а clearInterval() — на локальную.

То же самое верно для любых глобальных функций, которые вы определяете сами.

person jfriend00    schedule 01.12.2011

Нет никакой реальной разницы

Это в основном то же самое, что и следующее, где глобальная переменная является свойством объекта окна.

var myvar = "hello";

alert(myvar);

alert(window.myvar);

или где глобальные функции являются свойствами объекта окна.

document.getElementById("myID");

window.document.getElementById("myID");
person John Hartsock    schedule 01.12.2011

window — объект глобального контекста. Если вы не находитесь в функции, область действия которой была изменена, всему, что вы вводите, неявно предшествует window..

var a = 0;
window.a = 0;

setTimeout(foo, 1000);
window.setTimeout(foo, 1000);

alert(this == window); //true
person Alex Turpin    schedule 01.12.2011