JavaScript:主机对象也是本机对象的示例是什么?

JavaScript:主机对象也是本机对象的示例是什么?,javascript,Javascript,本机对象是由ECMAScript规范定义的对象或对象类。数组、函数、日期和正则表达式(例如)都是本机对象 主机对象是由嵌入JavaScript解释器的主机环境(如web浏览器)定义的对象。[…]主机对象也可以是本机对象,就像主机环境定义的方法是普通JavaScript函数对象一样 [JavaScript:最终指南,作者David Flanagan(O'Reilly)。版权所有2011 David Flanagan,978-0-596-80552-4。] 主机对象(由主机环境定义)如何成为本机对象

本机对象是由ECMAScript规范定义的对象或对象类。数组、函数、日期和正则表达式(例如)都是本机对象

主机对象是由嵌入JavaScript解释器的主机环境(如web浏览器)定义的对象。[…]主机对象也可以是本机对象,就像主机环境定义的方法是普通JavaScript函数对象一样

[JavaScript:最终指南,作者David Flanagan(O'Reilly)。版权所有2011 David Flanagan,978-0-596-80552-4。]


主机对象(由主机环境定义)如何成为本机对象(它需要由规范定义)?您能举一个上述方法的例子吗?

ES5有以下定义:

4.3.6本机对象:ECMAScript实现中的对象,其语义完全由本规范定义,而不是由 宿主环境

注:本规范中定义了标准本机对象。一些 本机对象是内置的;其他可能在施工期间建造 ECMAScript程序的执行过程

4.3.7内置对象:由ECMAScript实现提供的对象,独立于当前的主机环境 在ECMAScript程序开始执行时

注:本规范中定义了标准内置对象,以及 ECMAScript实现可以指定和定义其他实现。每一个 内置对象是本机对象。内置构造函数是一个 也是构造函数的内置对象

4.3.8主机对象:主机环境提供的用于完成ECMAScript执行环境的对象

注意:任何非本机对象都是主机对象

最后一条评论似乎模棱两可,但我理解的意图是本机对象不是宿主对象(我可能错了)


ES2015中的术语变化。这里没有使用术语“本机对象”。“native”一词仅出现在
NativeError
的上下文中。但是,使用了术语“内置对象”和“对象和设施的主机环境”。

根据ES5规范,“任何非本机对象都是主机对象”。更多信息如下:@Jordan我认为OP询问的主机对象也是本机对象。