在这个问题中,建议为了让所有本机对象使用全局对象。然而,答案是不完整的,因为还有其他本机对象无法通过全局对象访问。
我知道至少有一个——Arguments
它没有来自全局对象的引用。还有哪些其他构造函数不能通过全局对象访问?
这个问题不仅限于浏览器,还可能包括 Node。
在这个问题中,建议为了让所有本机对象使用全局对象。然而,答案是不完整的,因为还有其他本机对象无法通过全局对象访问。
我知道至少有一个——Arguments
它没有来自全局对象的引用。还有哪些其他构造函数不能通过全局对象访问?
这个问题不仅限于浏览器,还可能包括 Node。
当您列出全局对象上引用的所有对象时,这将包括本机对象(核心语言对象)和宿主对象(由宿主环境提供;在浏览器中,所有 DOM 内容等等)。这就是我们可以在代码中使用的全部内容。
该列表中没有Arguments
构造函数。可能有,但没有:
arguments 对象是通过调用抽象操作 CreateArgumentsObject ECMAScript 5.1, Section 10.6创建的
粗略地说,该操作创建了一个常规Object
(标准构造函数,标准原型),用一些额外的属性(如 )对其进行扩展length
,并将其[[Class]]
内部属性设置为"Arguments"
。arguments.toString()
这就是为什么[object Arguments]
。