顶层对象
ES6 中,为了保持兼容性,var 和 function 声明的全局变量依旧是顶层对象的属性
1 | var a = 1 //如果在 Node 的 REPL 环境,可以写成 global.a 或者 this.a |
global 对象
- 在浏览器对象中,顶层对象是 window,但 Node 和 Web Worker 没有 window。
- 在浏览器和 Web Worker 中,self 也指向顶层对象,但 Node 没有 self。
- 在 Node 中,顶层对象是 global,但其他环境都不支持。
以下为两种勉强可以取到顶层对象的方法:
1 | //方法一 |