--- 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, ... nameValuePairN
value
在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")}}