在 JavaScript 中,有一个永远被定义的全局对象。在一个 web 浏览器中,当脚本创建全局变量时,他们作为该全局对象的成员被创建。(在 Node.js 不是这样.) 全局对象的 interface 取决于脚本在其中运行的执行上下文。例如:
在 Web 浏览器中,脚本没有专门作为后台任务启动的任何代码都将Window 作为其全局对象。这是 Web 上绝大多数的 JavaScript 代码。
在 Worker 中运行的代码将WorkerGlobalScope 对象作为其全局对象。
在Node.js 环境下运行的脚本具有一个称为global 的对象作为其全局对象。
window 对象是浏览器中的全局对象。任何全局变量或者全局函数都可以通过 window 的属性来访问。
在定义全局变量 foo 之后,我们可以通过 window 对象的属性来访问它。把变量名 foo 作为全局对象的 window.foo 的属性名来使用。
上面解释了全局对象如果作为 window 对象的属性而存储的。我们创建了全局函数 greeting ,然后通过 window 对象来调用它。.