天天看点

为什么 window.window === window

window对象的 ​

​window​

​ 属性指向这个window对象本身。因此以下表达式所返回的window对象都是同一个。

window.window

window.window.window

window.window.window.window

...

在网页中,window对象也是一个全局对象。这意味着:

  1. 脚本中的全局变量实际上是window对象的属性:
var global = {data: 0};
alert(global === window.global); // displays "true"      
  1. 不用写​

    ​window. ​

    ​前缀就可以访问window对象的内置属性:
setTimeout("alert('Hi!')", 50); // equivalent to using window.setTimeout.
alert(window === window.window); // displays "true"