From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/global_objects/object/index.html | 183 +++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 files/zh-cn/web/javascript/reference/global_objects/object/index.html (limited to 'files/zh-cn/web/javascript/reference/global_objects/object/index.html') diff --git a/files/zh-cn/web/javascript/reference/global_objects/object/index.html b/files/zh-cn/web/javascript/reference/global_objects/object/index.html new file mode 100644 index 0000000000..1cfeb4d57c --- /dev/null +++ b/files/zh-cn/web/javascript/reference/global_objects/object/index.html @@ -0,0 +1,183 @@ +--- +title: Object +slug: Web/JavaScript/Reference/Global_Objects/Object +tags: + - Constructor + - JavaScript + - Object + - 对象 + - 构造器 +translation_of: Web/JavaScript/Reference/Global_Objects/Object +--- +
{{JSRef}}
+ +

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
+
值为 1。
+
+ +
+
{{jsxref("Object.prototype")}}
+
可以为所有 Object 类型的对象添加属性。
+
+ +

Object 构造函数的方法

+ +
+
{{jsxref("Object.assign()")}}
+
通过复制一个或多个对象来创建一个新的对象。
+
{{jsxref("Object.create()")}}
+
使用指定的原型对象和属性创建一个新对象。
+
{{jsxref("Object.defineProperty()")}}
+
给对象添加一个属性并指定该属性的配置。
+
{{jsxref("Object.defineProperties()")}}
+
给对象添加多个属性并分别指定它们的配置。
+
{{jsxref("Object.entries()")}}
+
返回给定对象自身可枚举属性的 [key, value] 数组。
+
{{jsxref("Object.freeze()")}}
+
冻结对象:其他代码不能删除或更改任何属性。
+
{{jsxref("Object.getOwnPropertyDescriptor()")}}
+
返回对象指定的属性配置。
+
{{jsxref("Object.getOwnPropertyNames()")}}
+
返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。
+
{{jsxref("Object.getOwnPropertySymbols()")}}
+
返回一个数组,它包含了指定对象自身所有的符号属性。
+
{{jsxref("Object.getPrototypeOf()")}}
+
返回指定对象的原型对象。
+
{{jsxref("Object.is()")}}
+
比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。
+
{{jsxref("Object.isExtensible()")}}
+
判断对象是否可扩展。
+
{{jsxref("Object.isFrozen()")}}
+
判断对象是否已经冻结。
+
{{jsxref("Object.isSealed()")}}
+
判断对象是否已经密封。
+
{{jsxref("Object.keys()")}}
+
返回一个包含所有给定对象自身可枚举属性名称的数组。
+
{{jsxref("Object.preventExtensions()")}}
+
防止对象的任何扩展。
+
{{jsxref("Object.seal()")}}
+
防止其他代码删除对象的属性。
+
{{jsxref("Object.setPrototypeOf()")}}
+
设置对象的原型(即内部 [[Prototype]] 属性)。
+
{{jsxref("Object.values()")}}
+
返回给定对象自身可枚举值的数组。
+
+ +

Object 实例和 Object 原型对象

+ +

JavaScript中的所有对象都来自 Object;所有对象从{{jsxref("Object.prototype")}}继承方法和属性,尽管它们可能被覆盖。例如,其他构造函数的原型将覆盖 constructor 属性并提供自己的 toString() 方法。Object 原型对象的更改将传播到所有对象,除非受到这些更改的属性和方法将沿原型链进一步覆盖。

+ +

属性

+ +
{{ page('zh-CN/docs/JavaScript/Reference/Global_Objects/Object/prototype', 'Properties') }}
+ +

方法

+ +
{{ page('zh-CN/docs/JavaScript/Reference/Global_Objects/Object/prototype', 'Methods') }}
+ +

示例

+ +

给定 undefinednull 类型使用 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());
+
+ +

规范

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{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")}}

+ +

相关链接

+ + -- cgit v1.2.3-54-g00ecf