在 ECMAScript 5 中,“采取行动”是什么意思?
What does it mean by "actions are taken" in ECMAScript 5?
这是摘录。
15.2.2.1 新对象 ( [ 值 ] ) # (T)
当调用 Object 构造函数时,不带参数或只有一个参数值,以下采取的步骤:如果提供了值,则如果类型(值)是对象,则
如果值是一个原生的 ECMAScript 对象,不要创建一个新对象,而只是简单地返回值。
如果值是主机对象,则执行操作并且以依赖于实现的方式返回结果可能取决于主机对象。
我只是想知道传入本机对象和将主机对象传递给对象构造函数有什么区别。换句话说,如果我调用新的对象(文档),幕后会发生什么?通过检查返回值,我看不到任何区别。
提前谢谢。
对于本机对象:javascript不必创建新对象,只需返回值。
但是对于主机对象:javascript首先创建一个新对象,然后只返回值。
这就是规范所说的。希望你能理解!
摘录
的意思是,如果value
是一个主机对象,如Document
,那么由实现来决定new Object(value)
将做什么("以可能依赖于实现的方式采取操作[...]"value
)以及它将返回什么值("结果以可能依赖于的实现方式返回"value
)。
即使value
是主机对象,大多数情况下new Object(value)
也不会执行任何操作并返回value
(就像它是本机对象一样)。在Document
的特定情况下,我强烈期望这种行为。但是 ECMAScript 标准并不要求这样做。(定义Document
类型的 DOM 规范似乎也不需要它。
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- JSDoc:模块和名称空间之间的关系是什么
- 在 ECMAScript 5 中,“采取行动”是什么意思?