JavaScript中的“Object()”和“new Object()”有何不同?

时间:2010-06-20 19:31:24

标签: javascript object new-operator

在JavaScript中,

之间有什么区别
var x = Object();

var x = new Object();

1 个答案:

答案 0 :(得分:9)

这是直接从ECMAScript specification

中提取的

15.2.1作为函数调用的对象构造函数

当Object作为函数而不是构造函数调用时,它会执行类型转换。

15.2.1.1对象([值])

当调用Object函数时没有参数或具有一个参数值时,以下步骤为 采取:

  1. 如果value为null,则为undefined或未定义 提供,创建和返回一个新的 对象对象完全如同 标准内置对象 构造函数已被调用 相同的论点(15.2.2.1)。

    简而言之: new Object([ value ])

  2. 返回ToObject(值)。

  3. 说明:

    [] 是将参数标记为可选的常用方法。

    ToObject 是一个非常简单的操作,在第9.9节中定义。