javascript - 在 ECMAScript 5中,"actions are taken" 意味着什么?

  显示原文与译文双语对照的内容

下面是摘录。


当不使用参数或者一个参数值调用对象构造函数时,将执行以下步骤:

如果提供了值,则如果 Type(value) 为对象,则

如果值是本机ECMAScript对象,则不要创建新对象,而是只返回值。

如果值是宿主对象,则执行操作,并以依赖于宿主对象的实现依赖方式返回结果。

我只是想知道传递原生对象和将宿主对象传递到对象构造函数之间的区别是什么。 换句话说,如果我调用新的Object(document),,那么 behind 会发生什么? 检查返回值时,无法看到任何差异。

先谢谢了。

时间:

如果使用 value,则可能取决于实现,而实现依赖于,而实现依赖方式可能取决于实现的方式。

即使 value 是宿主对象,new Object(value) 也不会执行任何操作,返回 value ( 就像本机对象一样) 。 在 Document的具体情况下,我强烈希望。 但是ECMAScript标准不需要这个。 ( 定义 Document 类型的DOM规范也不需要它。)

对于本机对象:javascript有创建新对象,只返回值。

但对于宿主对象: javascript首先创建一个新对象,然后只返回值。

规范就是这么说的。 希望你知道 !

...