window是js运行时的顶级对象,我们可以认为它是gloabl对象,面向全局的。
因此window.document 和 document二者是等价的,是同一个东西。
当你在全局上下文中定义一个变量,如:
var a = 123;
那么,实际上,变量a就是在全局变量了。在浏览器环境中,全局变量会复制到window命名空间下。因此。你既可以直接a,又可以window.a
二者是等价的。
因为 JS 解释器在遇到一个不认识的变量的时候,默认就是在 window 这个对象里面去寻找的,例如你可以试试下面的代码:
window.Hutia = "A good man";
alert(Hutia); // 这是一样可以使用的,弹出 "A good man"