javascript - ECMAScript 5 中的 "actions are taken"是什么意思?

标签 javascript ecmascript-5

这是摘录。

15.2.2.1 new Object ( [ value ] ) # Ⓣ
When the Object constructor is called with no arguments or with one argument value, the following steps are taken:

If value is supplied, then If Type(value) is Object, then

If the value is a native ECMAScript object, do not create a new object but simply return value.

If the value is a host object, then actions are taken and a result is returned in an implementation-dependent manner that may depend on the host object.

我只是想知道传递 native 对象和传递主机对象给对象构造函数有什么不同。换句话说,如果我调用 new Object(document),幕后会发生什么?通过检查返回值我看不出有什么区别。

提前致谢。

最佳答案

对于原生对象:javascript不会创建新对象,只是返回值。

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

这就是规范所说的。希望您能理解!

关于javascript - ECMAScript 5 中的 "actions are taken"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055908/

相关文章:

javascript - ECMA5 数组方法 - 查找数组中同类的第一个对象

javascript - 如何操作对象原型(prototype)的属性?

javascript - HTML 按钮计数

javascript - 本地存储的困境

javascript - 如何提取仅在 Javascript 中具有多个值的数组数据?

javascript - es5-shim 和 underscore.js?

javascript - 为什么我的 localStorage.getItem 变量返回 "object HTMLSpanElement"?

javascript - 如何在放大谷歌图表后停止默认字体大小

javascript - 调整 Canvas 背景图像的大小 - Fabricjs

javascript - ES5 模块模式使用