--- title: Object slug: Web/JavaScript/Reference/Global_Objects/Object tags: - Constructor - JavaScript - Object - 对象 - 构造器 translation_of: Web/JavaScript/Reference/Global_Objects/Object ---
Object 构造函数创建一个对象包装器。
// 对象初始化器(Object initialiser)或对象字面量(literal)
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }
// 以构造函数形式来调用
new Object([value])
nameValuePair1, nameValuePair2, ... nameValuePairNvalue在JavaScript中,几乎所有的对象都是Object类型的实例,它们都会从Object.prototype继承属性和方法。Object 构造函数为给定值创建一个对象包装器。Object构造函数,会根据给定的参数创建对象,具体有以下情况:
当以非构造函数形式被调用时,Object 的行为等同于 new Object()。
可查看 对象初始化/字面量语法。
Object 构造函数的属性Object.length[key, value] 数组。[[Prototype]] 属性)。Object 实例和 Object 原型对象JavaScript中的所有对象都来自 Object;所有对象从{{jsxref("Object.prototype")}}继承方法和属性,尽管它们可能被覆盖。例如,其他构造函数的原型将覆盖 constructor 属性并提供自己的 toString() 方法。Object 原型对象的更改将传播到所有对象,除非受到这些更改的属性和方法将沿原型链进一步覆盖。
undefined 和 null 类型使用 Object下面的例子将一个空的 Object 对象存到 o 中:
var o = new Object();
var o = new Object(undefined);
var o = new Object(null);
Object 生成布尔对象下面的例子将{{jsxref("Boolean")}} 对象存到 o 中:
// 等价于 o = new Boolean(true); var o = new Object(true);
// 等价于 o = new Boolean(false); var o = new Object(Boolean());
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Initial definition. Implemented in JavaScript 1.0. |
| {{SpecName('ES5.1', '#sec-15.2', 'Object')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-object-objects', 'Object')}} | {{Spec2('ES6')}} | Added Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is |
| {{SpecName('ESDraft', '#sec-object-objects', 'Object')}} | {{Spec2('ESDraft')}} | Added Object.entries and Object.values. |
{{Compat("javascript.builtins.Object")}}