通过全局对象无法访问哪些本机构造函数?

时间:2012-10-25 03:58:25

标签: javascript native-code

this question中,建议按顺序获取所有本机对象以使用全局对象。但是答案是不完整的,因为有其他本机对象无法通过全局对象访问。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

  

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

粗略地说,该操作会创建一个常规Object(标准构造函数,标准原型),并使用length等一些额外属性扩展它,并将其[[Class]]内部属性设置为{{1 }}。这就是为什么"Arguments"arguments.toString()