3

这个问题中,建议为了让所有本机对象使用全局对象。然而,答案是不完整的,因为还有其他本机对象无法通过全局对象访问。

我知道至少有一个——Arguments它没有来自全局对象的引用。还有哪些其他构造函数不能通过全局对象访问?

这个问题不仅限于浏览器,还可能包括 Node。

4

1 回答 1

1

当您列出全局对象上引用的所有对象时,这将包括本机对象(核心语言对象)和宿主对象(由宿主环境提供;在浏览器中,所有 DOM 内容等等)。这就是我们可以在代码中使用的全部内容。

该列表中没有Arguments构造函数。可能有,但没有:

arguments 对象是通过调用抽象操作 CreateArgumentsObject ECMAScript 5.1, Section 10.6创建的

粗略地说,该操作创建了一个常规Object(标准构造函数,标准原型),用一些额外的属性(如 )对其进行扩展length,并将其[[Class]]内部属性设置为"Arguments"arguments.toString()这就是为什么[object Arguments]

于 2012-10-26T03:07:07.860 回答