'window'对象如何成为前端JS脚本的全局对象?

时间:2017-07-15 02:09:09

标签: javascript object window global

Hello Stackoverflow社区!

我知道窗口和全局对象是什么,但我想知道它是如何在幕后/幕后工作的。

浏览器如何将此窗口对象添加为脚本的全局对象?为什么?

由于

1 个答案:

答案 0 :(得分:1)

创建phaase a.k.a全球执行背景。

在基础级别运行代码时,JS引擎将自动执行以下操作:

  1. 创建一个全局对象,这意味着您的所有代码都将位于此全局对象中。如果您在浏览器环境中使用,则此全局对象是窗口。这一切都取决于你在哪里执行你的JS代码。
  2. 创建一个名为“ this ”的特殊变量。在全局级别,“this”将等于Global(window)对象。
  3. 如果有外部环境,则引用外部环境。这意味着在你编写的代码中存在某些东西,以及它周围的东西,a.k.a Lexical Environment