'window'对象如何成为前端JS脚本的全局对象?
How does the 'window' object become the global object of a front end JS script?
你好 Whosebug 社区!
我有点知道 window 和全局对象是什么,但我想知道它在幕后/幕后是如何工作的。
浏览器如何将这个 window 对象作为全局对象添加到我们的脚本中,为什么?
谢谢
创建阶段a.k.a全局执行上下文。
当运行代码在base层时,JS引擎会自动做以下事情:
- 创建一个全局对象,这意味着您的所有代码都将位于该全局对象中。如果你是在浏览器环境下使用,这个全局对象就是window。这完全取决于你在哪里执行你的 JS 代码。
- 创建一个名为“this”的特殊变量。在全局级别,"this" 等于全局 (window) 对象。
- 对外部环境的引用(如果有的话)。这意味着某些东西在您编写的代码中的物理位置及其周围,a.k.a 词法环境
你好 Whosebug 社区!
我有点知道 window 和全局对象是什么,但我想知道它在幕后/幕后是如何工作的。
浏览器如何将这个 window 对象作为全局对象添加到我们的脚本中,为什么?
谢谢
创建阶段a.k.a全局执行上下文。
当运行代码在base层时,JS引擎会自动做以下事情:
- 创建一个全局对象,这意味着您的所有代码都将位于该全局对象中。如果你是在浏览器环境下使用,这个全局对象就是window。这完全取决于你在哪里执行你的 JS 代码。
- 创建一个名为“this”的特殊变量。在全局级别,"this" 等于全局 (window) 对象。
- 对外部环境的引用(如果有的话)。这意味着某些东西在您编写的代码中的物理位置及其周围,a.k.a 词法环境