几个 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/