JS clearInterval or window.clearInterval?

2019-06-28 02:05发布

问题:

Javascript has setInterval and clearInterval functions for handling asynchronous function calls.

Is there a difference between clearInterval(handle) and window.clearInterval(handle)?

I've seen it being used both ways.

回答1:

In a browser, all global functions are implicitly properties of the window object. So clearInterval() and window.clearInterval() are the exact same thing.

There is no difference between them unless you define a local function called clearInterval(), in which case window.clearInterval() would reference the global one and clearInterval() would reference the local one.

The same would be true for any global functions that you define yourself.



回答2:

There is no real difference

This is basically the same as the following where global variable are a properties of the window object.

var myvar = "hello";

alert(myvar);

alert(window.myvar);

or where global functions are properties of the window object.

document.getElementById("myID");

window.document.getElementById("myID");


回答3:

window is the global context object. If you are not in a function that has had it's scope modified, everything you type is implicitly preceded by window..

var a = 0;
window.a = 0;

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

alert(this == window); //true