在ECMAScript中,怎么都有些本地对象的还内置了?(In ECMAScript, how ar

2019-06-26 12:11发布

我想,本地和内置对象的定义才能回答这个问题。 下面是ECMAScript的规范,这些定义为:

4.3.6原生对象

在一个ECMAScript实现对象,独立于主机环境的,即存在于ECMAScript程序的执行的开始。

注:标准原生内置对象在这个规范中定义。 一些原生对象是内置的 ; 其他人可能ECMAScript程序的执行过程中被构造

4.3.7内置对象

由ECMAScript实现提供的对象,独立于主机环境的,即存在于ECMAScript程序的执行的开始

注:标准的内置对象在这个规范中定义和ECMAScript实现可以指定和定义等。 每一个内置的对象是本地对象。 内置的构造函数是一个内置的对象,也是一个构造函数。

我很期待这一次的解释。

Answer 1:

以下是ES5显示 :

4.3.6原生对象#Ⓣ对象在ECMAScript实现其语义这个规范,而不是由主机环境完全定义。

注:标准原生对象在这个规范中定义。 一些原生对象是内置的; 其他人可能ECMAScript程序的执行过程中来构建。

由ECMAScript实现供给4.3.7内置对象#Ⓣ对象,独立于主机环境的,即存在于ECMAScript程序的执行的开始。

注:标准的内置对象在这个规范中定义和ECMAScript实现可以指定和定义等。 每一个内置的对象是本地对象。 内置的构造函数是一个内置的对象,也是一个构造函数。

正如你所看到的,这是不同的,你已经证明什么。

内置对象是由符合ECMAScript引擎提供原生的对象。 例如:

  • 宾语
  • 排列
  • 未定义
  • 布尔
  • 等等

本机对象是,例如:

var obj = {};

或列表之前所示。 内置对象是天然的。

此外,您还没有表现出来,但是主机对象是依赖于环境中的物体。 例如,在浏览器中, 所述宿主对象是window 。 还有其他主机的对象,如documentXMLHttpRequest虽然。



Answer 2:

原生对象 - 来实现并不在ECMAScript中本身。 Buiilt,在对象 - 这是由发动机提供的一个。 想想数学,字符串和等。



文章来源: In ECMAScript, how are some of native objects also built-in?