javascript - mozilla 的术语 "Global Objects"让我困惑

标签 javascript terminology mozilla

几个 friend 建议我阅读developer.mozilla.org/en/JavaScript/Reference/Global_Objects :

这里的术语“全局对象”[1]不要与全局对象[2]混淆。这里,全局对象[3]指的是全局范围内的对象。全局对象[4]本身可以在全局范围内通过this访问。事实上,全局范围全局对象的属性[5]组成(包括继承的属性,如果有的话)。

老实说,我对上面的话完全困惑了。第一句话告诉我不要混淆,但它确实让我困惑。嗯,英语不是我的母语,也许这就是原因。 出现了 5 次全局对象和 3 次全局范围!

全局对象[4,5]是指全局对象[1]还是全局对象[2]?

最佳答案

Mozilla 的措辞毫无帮助。我建议你忽略它。

有一个全局对象。这是 ECMAScript language specification 中定义明确的构造。 。它有几个目的,其中最重要的是全局对象的属性在任何地方都可用。这就是 Mozilla 所说的“全局对象”;它们更准确、更有用地称为“全局对象的属性”。

本文所说的全局作用域是指不在任何函数内部的代码。在这样的代码中,this 是对全局对象的引用。在浏览器内的 JavaScript 中,window 可以被认为是全局对象,并且可以在任何地方访问。

综上所述,2、4、5是同一个东西。 1 和 3 对于“全局对象的属性”来说是一个糟糕的名称,您应该忘记它。

关于javascript - mozilla 的术语 "Global Objects"让我困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3977425/

相关文章:

Javascript/Angular - JS 对象的属性和方法

javascript - WordPress JavaScript 错误

javascript - 谁拥有 javascript 中子框架的名称,父框架还是子框架?

javascript - 如何标记 getElementById、getElementsByTagName 或 querySelector 等函数?

css - Datatables CSS 与 Mozilla 决裂

javascript - 通过 JS 为 .less 样式表设置 href

algorithm - 算法和函数有什么区别?

xcode - 术语 "bitcode"是什么意思?

javascript - Firefox 中的 SVG 对象未触发滚动事件

java - 用于屏幕抓取的 Mozilla 解析器