【问题标题】:How does the 'window' object become the global object of a front end JS script?“窗口”对象如何成为前端 JS 脚本的全局对象?
【发布时间】:2017-07-15 02:09:08
【问题描述】:

你好 Stackoverflow 社区!

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

浏览器如何将此窗口对象作为全局对象添加到我们的脚本中,为什么?

谢谢

【问题讨论】:

  • 你浏览过 Chromium 和 Firefox 源码吗?
  • 还没有,我还是个菜鸟,试图找到一些抓地力:/
  • 好的,我想我知道了。众所周知,函数是可执行的对象。我们 JS 脚本中的所有对象都将被“打包”在一个全局对象中,该对象通常是前端的“窗口”对象。之后,将执行全局函数。 - 这是正确的还是完全错误的哈哈?

标签: javascript object window global


【解决方案1】:

创建阶段也称为全局执行上下文。

在基层运行代码时,JS引擎会自动执行以下操作:

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

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2018-06-16
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2015-07-02
    • 2023-01-13
    相关资源
    最近更新 更多