javascript - 哪些 native 构造函数不能通过全局对象访问?

标签 javascript native-code

this question建议让所有 native 对象使用全局对象。然而,答案是不完整的,因为还有其他 native 对象无法通过全局对象访问。

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

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

最佳答案

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

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

The arguments object is created by calling the abstract operation CreateArgumentsObject ECMAScript 5.1, Section 10.6

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

关于javascript - 哪些 native 构造函数不能通过全局对象访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13061350/

相关文章:

javascript - 如何通过命令行获取用户输入?

javascript - 如何使用 JQuery 使这个旧的 JavaScript/ASP Classic 代码(干净的)不引人注目?

Android NativeActivity

android - 如何在android 2.1上从sd卡加载jni?

android - Android 上的 OpenGL ES 坐标系?

managed - Metro 风格应用程序是托管的还是 native 的?如果是 native 的,它们如何在 arm 和 x86 上运行?

javascript - polymer 1.0 : Binding css classes does not update

javascript - 动态谷歌图表的工具提示错误

javascript - nodejs在回调函数中绑定(bind)对象

android - NDK版本与Android版本的关系