Javascript “这是什么意思?”;“已采取行动”;在ECMAScript 5中?

Javascript “这是什么意思?”;“已采取行动”;在ECMAScript 5中?,javascript,ecmascript-5,Javascript,Ecmascript 5,这是摘录 15.2.2.1新对象([值])#Ⓣ 如果调用对象构造函数时没有参数或只有一个参数值,则 已采取以下步骤: 若提供了值,则若类型(值)为Object,则 如果值 是本机ECMAScript对象,请不要创建新对象,只需 返回值 如果该值是主机对象,则会执行操作 并且以依赖于实现的方式返回结果 可能取决于主机对象 我只是想知道传入本机对象和传入宿主对象到对象构造函数之间有什么不同。换句话说,如果我调用新对象(文档),那么在场景后面会发生什么?通过检查返回值,我看不到任何差异 提前感谢。摘录

这是摘录

15.2.2.1新对象([值])#Ⓣ
如果调用对象构造函数时没有参数或只有一个参数值,则 已采取以下步骤:

若提供了值,则若类型(值)为Object,则

如果值 是本机ECMAScript对象,请不要创建新对象,只需 返回值

如果该值是主机对象,则会执行操作 并且以依赖于实现的方式返回结果 可能取决于主机对象

我只是想知道传入本机对象和传入宿主对象到对象构造函数之间有什么不同。换句话说,如果我调用新对象(文档),那么在场景后面会发生什么?通过检查返回值,我看不到任何差异


提前感谢。

摘录的意思是,如果
value
是一个宿主对象,例如
文档
,那么由实现决定
新对象(值)
将做什么(“以依赖于实现的方式采取的操作[…],可能取决于”
)以及它将返回什么值(“结果以依赖于实现的方式返回,该方式可能取决于”
value


即使
value
是一个宿主对象,大多数情况下
新对象(value)
也不会执行任何操作并返回
value
(就像它是一个本机对象一样)。在
文档的特定情况下,我强烈期望这种行为。但是ECMAScript标准并不要求这样做。(定义
文档
类型的DOM规范似乎也不需要它。)

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

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


这就是说明书上说的。希望你能理解

这意味着主机必须负责转换主机对象。通常情况下,什么都不会发生。谢谢你的帮助。:)