diff --git a/files/zh-cn/web/javascript/reference/global_objects/map/index.md b/files/zh-cn/web/javascript/reference/global_objects/map/index.md index 8cd585806e2772..64377c7532ea4b 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/map/index.md +++ b/files/zh-cn/web/javascript/reference/global_objects/map/index.md @@ -5,7 +5,7 @@ slug: Web/JavaScript/Reference/Global_Objects/Map {{JSRef}} -**`Map`** 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者{{Glossary("Primitive", "原始值")}})都可以作为一个键或一个值。 +**`Map`** 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者{{Glossary("Primitive", "原始值")}})都可以作为键或值。 {{EmbedInteractiveExample("pages/js/map.html", "taller")}} @@ -45,7 +45,7 @@ slug: Web/JavaScript/Reference/Global_Objects/Map

- 请注意: 这可以通过使用 {{jsxref("Object.create", "Object.create(null)")}} 来绕过,但很少这样做。 + 备注:这可以通过使用 {{jsxref("Object.create", "Object.create(null)")}} 来绕过,但很少这样做。

@@ -57,7 +57,7 @@ slug: Web/JavaScript/Reference/Global_Objects/Map

- 在 Object 上设置用户提供的键值对可能会允许攻击者覆盖对象的原型,这可能会导致对象注入攻击。就像意外的键问题一样,这也可以通过使用null原型对象来缓解。 + 在 Object 上设置用户提供的键值对可能会允许攻击者覆盖对象的原型,这可能会导致对象注入攻击。就像意外的键问题一样,这也可以通过使用 null 原型对象来缓解。

@@ -89,10 +89,10 @@ slug: Web/JavaScript/Reference/Global_Objects/Map

大小

- Map中的项目数量很容易从其 {{jsxref("Map.prototype.size", "size")}} 属性中获得。 + Map 中的项目数量很容易从其 {{jsxref("Map.prototype.size", "size")}} 属性中获得。 - 确定 Object 中的项目数量通常更麻烦,效率也较低。一种常见的方法是通过获取 {{jsxref("Object.keys()")}} 返回的数组的{{jsxref("Array/length", "长度")}}。 + 确定 Object 中的项目数量通常更麻烦,效率也较低。一种常见的方法是通过获取 {{jsxref("Object.keys()")}} 返回的数组的{{jsxref("Array/length", "长度", "", 1)}}。 @@ -102,16 +102,16 @@ slug: Web/JavaScript/Reference/Global_Objects/Map

- Object 没有实现可迭代协议,因此对象默认情况下不能直接通过 JavaScript 的 for...of 语句进行迭代。 + Object 没有实现迭代协议,因此对象默认情况下不能直接通过 JavaScript 的 for...of 语句进行迭代。

-

请注意:

+

备注:

@@ -178,13 +178,13 @@ contacts.delete("Jessie"); // true console.log(contacts.size); // 1 ``` -### 类似 Map 的浏览器 API +### 类 Map 浏览器 API -**浏览器中类似 Map 的对象**(或称为“maplike 对象”)是 [Web API](/zh-CN/docs/Web/API) 接口,其行为在很多方面都类型 `Map`。 +**浏览器类 Map 对象**(或称为“maplike 对象”)是其行为在很多方面都类似于 `Map` 的 [Web API](/zh-CN/docs/Web/API) 接口。 就像 `Map` 一样,对象中的条目可以以添加的顺序迭代。类似 `Map` 的对象和 `Map` 具有相同的属性和方法。但是,与 `Map` 不同的是,它们仅允许每个条目中的键和值具有特定预定义的类型。 -允许的类型在规范 IDL 定义中设置。例如,{{domxref("RTCStatsReport")}} 是一个类似 `Map` 的对象,必须使用字符串作为键,对象作为值。这是在规范 IDL 中定义的: +允许的类型规范的 IDL 定义给出。例如,{{domxref("RTCStatsReport")}} 是一个类似 `Map` 的对象,必须使用字符串作为键,对象作为值。这是在规范 IDL 中定义的: ```webidl interface RTCStatsReport { @@ -192,14 +192,14 @@ interface RTCStatsReport { }; ``` -类似 `Map` 的对象可以是只读的,也可以是可写的(参见上面 IDL 中的 `readonly` 关键字)。 +类 `Map` 对象可以是只读的,也可以是可写的(参见上面 IDL 中的 `readonly` 关键字)。 -- 只读的类似 `Map` 对象具有 [`size`](#map.prototype.size) 属性,以及这些方法:[`entries()`](#map.prototype.entries)、[`forEach()`](#map.prototype.foreach)、[`keys()`](#map.prototype.keys)、[`values()`](#map.prototype.values) 和 [`@@iterator`](#map.prototypeiterator) 。 -- 可写的类似 `Map` 对象还额外具有这些方法:[`clear()`](#map.prototype.clear)、[`delete()`](#map.prototype.delete) 和 [`set()`](#map.prototype.set)。 +- 只读的类 `Map` 对象具有 [`size`](#map.prototype.size) 属性,以及这些方法:[`entries()`](#map.prototype.entries)、[`forEach()`](#map.prototype.foreach)、[`keys()`](#map.prototype.keys)、[`values()`](#map.prototype.values) 和 [`@@iterator`](#map.prototypeiterator) 。 +- 可写的类 `Map` 对象还额外具有这些方法:[`clear()`](#map.prototype.clear)、[`delete()`](#map.prototype.delete) 和 [`set()`](#map.prototype.set)。 除了对键和值类型的限制外,其方法和属性的行为与 `Map` 中的对应实体相同。 -以下是浏览器中只读的类似 `Map` 对象的示例: +以下是浏览器中只读的类 `Map` 对象的示例: - {{domxref("AudioParamMap")}} - {{domxref("RTCStatsReport")}}