diff --git a/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html b/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html index e8045aaf37326e..008d4466b25ebb 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/aggregateerror/index.html @@ -19,7 +19,7 @@

参数

errors
错误的描述,默认为空。
message{{Optional_Inline}}
-
AggregateError错误的提示信息。
+
AggregateError 错误的提示信息。

描述

@@ -48,7 +48,7 @@

实例属性

示例

-

捕获一个AggregateError

+

捕获一个 AggregateError

Promise.any([
   Promise.reject(new Error("some error")),
@@ -60,7 +60,7 @@ 

捕获一个AggregateError

});
-

创建一个AggregateError

+

创建一个 AggregateError

try {
   throw new AggregateError([
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/@@species/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/@@species/index.html
index cc87927e5ee51c..36f8a897c6dba8 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/@@species/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/@@species/index.html
@@ -27,11 +27,11 @@ 

描述

示例

-

species 属性返回默认构造函数, 它用于 Array 对象的构造函数 Array:

+

species 属性返回默认构造函数,它用于 Array 对象的构造函数 Array:

Array[Symbol.species]; // function Array()
-

在继承类的对象中(例如你自定义的数组 MyArray),MyArray 的 species 属性返回的是 MyArray 这个构造函数. 然而你可能想要覆盖它,以便在你继承的对象 MyArray 中返回父类的构造函数 Array :

+

在继承类的对象中(例如你自定义的数组 MyArray),MyArray 的 species 属性返回的是 MyArray 这个构造函数。然而你可能想要覆盖它,以便在你继承的对象 MyArray 中返回父类的构造函数 Array :

class MyArray extends Array {
   // 重写 MyArray 的 species 属性到父类 Array 的构造函数
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/copywithin/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/copywithin/index.html
index 5ed89053f18a5d..9a9381c7c8b618 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/copywithin/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/copywithin/index.html
@@ -29,7 +29,7 @@ 

参数

target
0 为基底的索引,复制序列到该位置。如果是负数,target 将从末尾开始计算。如果 target 大于等于 arr.length,将不会发生拷贝。如果 targetstart 之后,复制的序列将被修改以符合 arr.length
start
-
0 为基底的索引,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。如果 start 被忽略,copyWithin 将会从0开始复制。
+
0 为基底的索引,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。如果 start 被忽略,copyWithin 将会从 0 开始复制。
end
0 为基底的索引,开始复制元素的结束位置。copyWithin 将会拷贝到该位置,但不包括 end 这个位置的元素。如果是负数, end 将从末尾开始计算。如果 end 被忽略,copyWithin 方法将会一直复制至数组结尾(默认为 arr.length)。
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/entries/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/entries/index.html index 6d2d0018a8de53..211f08e673d681 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/entries/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/entries/index.html @@ -17,7 +17,7 @@

语法

返回值

-

一个新的 {{jsxref("Array")}} 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的[key,value]。

+

一个新的 {{jsxref("Array")}} 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的 [key,value]。

示例

@@ -45,30 +45,30 @@

2、iterator.next()

          value:(2) [0, "a"]            __proto__: Object */ -// iterator.next()返回一个对象,对于有元素的数组, -// 是next{ value: Array(2), done: false }; -// next.done 用于指示迭代器是否完成:在每次迭代时进行更新而且都是false, -// 直到迭代器结束done才是true。 -// next.value是一个["key","value"]的数组,是返回的迭代器中的元素值。 +// iterator.next() 返回一个对象,对于有元素的数组, +// 是 next{ value: Array(2), done: false }; +// next.done 用于指示迭代器是否完成:在每次迭代时进行更新而且都是 false, +// 直到迭代器结束 done 才是 true。 +// next.value 是一个 ["key","value"] 的数组,是返回的迭代器中的元素值。
-

3、iterator.next方法运行

+

3、iterator.next 方法运行

var arr = ["a", "b", "c"];
 var iter = arr.entries();
 var a = [];
 
 // for(var i=0; i< arr.length; i++){   // 实际使用的是这个
-for(var i=0; i< arr.length+1; i++){    // 注意,是length+1,比数组的长度大
-    var tem = iter.next();             // 每次迭代时更新next
-    console.log(tem.done);             // 这里可以看到更新后的done都是false
-    if(tem.done !== true){             // 遍历迭代器结束done才是true
+for(var i=0; i< arr.length+1; i++){    // 注意,是 length+1,比数组的长度大
+    var tem = iter.next();             // 每次迭代时更新 next
+    console.log(tem.done);             // 这里可以看到更新后的 done 都是 false
+    if(tem.done !== true){             // 遍历迭代器结束 done 才是 true
         console.log(tem.value);
         a[i]=tem.value;
     }
 }
 
-console.log(a);                         // 遍历完毕,输出next.value的数组
+console.log(a); // 遍历完毕,输出 next.value 的数组

4、二维数组按行排序

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/fill/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/fill/index.html index 0b7cdccee9d372..1120483c3ba7ca 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/fill/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/fill/index.html @@ -25,7 +25,7 @@

参数

value
用来填充数组元素的值。
start {{optional_inline}}
-
起始索引,默认值为0。
+
起始索引,默认值为 0。
end {{optional_inline}}
终止索引,默认值为 this.length
@@ -36,15 +36,15 @@

返回值

描述

-

fill 方法接受三个参数 value, start 以及 endstartend 参数是可选的, 其默认值分别为 0 和 this 对象的 length 属性值。

+

fill 方法接受三个参数 value, start 以及 endstartend 参数是可选的,其默认值分别为 0 和 this 对象的 length 属性值。

-

如果 start 是个负数, 则开始索引会被自动计算成为 length+start, 其中 length 是 this 对象的 length 属性值。如果 end 是个负数, 则结束索引会被自动计算成为 length+end

+

如果 start 是个负数,则开始索引会被自动计算成为 length+start, 其中 length 是 this 对象的 length 属性值。如果 end 是个负数,则结束索引会被自动计算成为 length+end

-

fill 方法故意被设计成通用方法, 该方法不要求 this 是数组对象。

+

fill 方法故意被设计成通用方法,该方法不要求 this 是数组对象。

-

fill 方法是个可变方法, 它会改变调用它的 this 对象本身, 然后返回它, 而并不是返回一个副本。

+

fill 方法是个可变方法,它会改变调用它的 this 对象本身,然后返回它,而并不是返回一个副本。

-

当一个对象被传递给 fill方法的时候, 填充数组的是这个对象的引用。

+

当一个对象被传递给 fill方法的时候,填充数组的是这个对象的引用。

示例

@@ -61,8 +61,8 @@

示例

// Objects by reference. var arr = Array(3).fill({}) // [{}, {}, {}]; -// 需要注意如果fill的参数为引用类型,会导致都执行同一个引用类型 -// 如 arr[0] === arr[1] 为true +// 需要注意如果 fill 的参数为引用类型,会导致都执行同一个引用类型 +// 如 arr[0] === arr[1] 为 true arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]

Polyfill

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html index 9d92a772c1f697..889905a71ceec0 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/filter/index.html @@ -12,7 +12,7 @@ ---
{{JSRef}}
-

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 

+

filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。 

{{EmbedInteractiveExample("pages/js/array-filter.html")}}

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/find/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/find/index.html index f58ccf8ebfca0b..db0803ecf557b8 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/find/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/find/index.html @@ -131,7 +131,7 @@

寻找数组中的质数

Polyfill

-

本方法在ECMAScript 6规范中被加入,可能不存在于某些实现中。你可以通过以下代码来补充 Array.prototype.find()

+

本方法在 ECMAScript 6 规范中被加入,可能不存在于某些实现中。你可以通过以下代码来补充 Array.prototype.find()

// https://tc39.github.io/ecma262/#sec-array.prototype.find
 if (!Array.prototype.find) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
index 39faf1fdf381cb..64c87a4c3b58a3 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/findindex/index.html
@@ -26,7 +26,7 @@ 

参数

callback
-
针对数组中的每个元素, 都会执行该回调函数, 执行时会自动传入下面三个参数: +
针对数组中的每个元素,都会执行该回调函数,执行时会自动传入下面三个参数:
element
当前元素。
@@ -37,7 +37,7 @@

参数

thisArg
-
可选。执行callback时作为this对象的值.
+
可选。执行callback时作为this对象的值。

返回值

@@ -46,7 +46,7 @@

返回值

描述

-

findIndex方法对数组中的每个数组索引0..length-1(包括)执行一次callback函数,直到找到一个callback函数返回真实值(强制为true)的值。如果找到这样的元素,findIndex会立即返回该元素的索引。如果回调从不返回真值,或者数组的length为0,则findIndex返回-1。 与某些其他数组方法(如Array#some)不同,在稀疏数组中,即使对于数组中不存在的条目的索引也会调用回调函数。

+

findIndex方法对数组中的每个数组索引0..length-1(包括)执行一次callback函数,直到找到一个callback函数返回真实值(强制为true)的值。如果找到这样的元素,findIndex会立即返回该元素的索引。如果回调从不返回真值,或者数组的length为 0,则findIndex返回-1。 与某些其他数组方法(如 Array#some)不同,在稀疏数组中,即使对于数组中不存在的条目的索引也会调用回调函数。

回调函数调用时有三个参数:元素的值,元素的索引,以及被遍历的数组。

@@ -123,9 +123,9 @@

Polyfill

}
-

如果您需要兼容不支持Object.defineProperty的JavaScript引擎,那么最好不要对Array.prototype方法进行 polyfill ,因为您无法使其成为不可枚举的。

+

如果您需要兼容不支持Object.defineProperty的 JavaScript 引擎,那么最好不要对Array.prototype方法进行 polyfill ,因为您无法使其成为不可枚举的。

-

使用此方法需要注意你是否在uc浏览器环境,如果你的页面在支付宝上使用尤其注意,因为支付宝使用的就是uc浏览器环境.

+

使用此方法需要注意你是否在 uc 浏览器环境,如果你的页面在支付宝上使用尤其注意,因为支付宝使用的就是 uc 浏览器环境。

规范

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html index ec0af471c3b19d..0f7ae44c676d29 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/flat/index.html @@ -55,7 +55,7 @@

扁平化嵌套数组

扁平化与数组空项

-

flat() 方法会移除数组中的空项:

+

flat() 方法会移除数组中的空项:

var arr4 = [1, 2, , 4, 5];
 arr4.flat();
@@ -118,7 +118,7 @@ 

forEach+isArray+push+recursivity

      if (Array.isArray(item) && depth > 0) {         flat(item, depth - 1)       } else { -        // 去除空元素,添加非undefined元素 +        // 去除空元素,添加非 undefined 元素         item !== void 0 && result.push(item);       }     } @@ -127,7 +127,7 @@

forEach+isArray+push+recursivity

}
-

使用堆栈stack

+

使用堆栈 stack

// 无递归数组扁平化,使用堆栈
 // 注意:深度的控制比较低效,因为需要检查每一个值的深度
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
index 755ab88bad0bca..33208bc3a0c5fa 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/flatmap/index.html
@@ -11,7 +11,7 @@
 ---
 
{{JSRef}}
-

flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。

+

flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为 1 的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。

\{{EmbedInteractiveExample("pages/js/array-flatmap.html")}}

@@ -41,11 +41,11 @@

参数

返回值

-

 一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为1。

+

 一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为 1。

描述

-

有关回调函数的详细描述,请参见 {{jsxref("Array.prototype.map()")}} 。 flatMap 方法与 map 方法和深度depth为1的 flat 几乎相同.

+

有关回调函数的详细描述,请参见 {{jsxref("Array.prototype.map()")}} 。 flatMap 方法与 map 方法和深度 depth 为 1 的 flat 几乎相同。

示例

@@ -79,7 +79,7 @@

map() 与 flatMap()

在一个 map() 期间增加或去除一些项

-

flatMap 能用于在map期间增删项目(也就是修改items的数量)。换句话说,它允许你遍历很多项使之成为另一些项(靠分别把它们放进去来处理),而不是总是一对一。 从这个意义上讲,它的作用类似于 filter的对立面。只需返回一个1项元素数组以保留该项,返回一个多元素数组以添加项,或返回一个0项元素数组以删除该项。

+

flatMap 能用于在 map 期间增删项目(也就是修改 items 的数量)。换句话说,它允许你遍历很多项使之成为另一些项(靠分别把它们放进去来处理),而不是总是一对一。 从这个意义上讲,它的作用类似于 filter的对立面。只需返回一个 1 项元素数组以保留该项,返回一个多元素数组以添加项,或返回一个 0 项元素数组以删除该项。

// Let's say we want to remove all the negative numbers and split the odd numbers into an even number and a 1
 let a = [5, 4, -3, 20, 17, -33, -4, 18]
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/foreach/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/foreach/index.html
index 1c9a181656596b..77cf4ce9869378 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/foreach/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/foreach/index.html
@@ -62,7 +62,7 @@ 

描述

forEach() 为每个数组元素执行一次 callback 函数;与 {{jsxref("Array.prototype.map()", "map()")}} 或者 {{jsxref("Array.prototype.reduce()", "reduce()")}} 不同的是,它总是返回 {{jsxref("undefined")}} 值,并且不可链式调用。其典型用例是在一个调用链的最后执行副作用(side effects,函数式编程上,指函数进行 返回结果值 以外的操作)。

-

forEach() 被调用时,不会改变原数组,也就是调用它的数组(尽管 callback 函数在被调用时可能会改变原数组)。(译注:此处说法可能不够明确,具体可参考EMCA语言规范:'forEach does not directly mutate the object on which it is called but the object may be mutated by the calls to callbackfn.',即 forEach 不会直接改变调用它的对象,但是那个对象可能会被 callback 函数改变。)

+

forEach() 被调用时,不会改变原数组,也就是调用它的数组(尽管 callback 函数在被调用时可能会改变原数组)。(译注:此处说法可能不够明确,具体可参考 EMCA 语言规范:'forEach does not directly mutate the object on which it is called but the object may be mutated by the calls to callbackfn.',即 forEach 不会直接改变调用它的对象,但是那个对象可能会被 callback 函数改变。)

备注: 除了抛出异常以外,没有办法中止或跳出 forEach() 循环。如果你需要中止或跳出循环,forEach() 方法不是应当使用的工具。

@@ -267,7 +267,7 @@

针对 promise 或 async

Polyfill

-

forEach() 是在第五版本里被添加到 ECMA-262 标准的;这样它可能在标准的其他实现中不存在,你可以在你调用 forEach() 之前插入下面的代码,在本地不支持的情况下使用 forEach()。该算法是 ECMA-262 第5版中指定的算法。它假定 {{jsxref("Object")}} 和 {{jsxref("TypeError")}} 拥有它们的初始值,且 callback.call 等价于 {{jsxref("Function.prototype.call()")}}。

+

forEach() 是在第五版本里被添加到 ECMA-262 标准的;这样它可能在标准的其他实现中不存在,你可以在你调用 forEach() 之前插入下面的代码,在本地不支持的情况下使用 forEach()。该算法是 ECMA-262 第 5 版中指定的算法。它假定 {{jsxref("Object")}} 和 {{jsxref("TypeError")}} 拥有它们的初始值,且 callback.call 等价于 {{jsxref("Function.prototype.call()")}}。

// Production steps of ECMA-262, Edition 5, 15.4.4.18
 // Reference: http://es5.github.io/#x15.4.4.18
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
index 01b6062f91aef9..0fb87821ee2b57 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/from/index.html
@@ -46,10 +46,10 @@ 

描述

  • 伪数组对象(拥有一个 length 属性和若干索引属性的任意对象)
  • -
  • 可迭代对象(可以获取对象中的元素,如 Map和 Set 等)
  • +
  • 可迭代对象(可以获取对象中的元素,如 Map 和 Set 等)
-

Array.from() 方法有一个可选参数 mapFn,让你可以在最后生成的数组上再执行一次 {{jsxref("Array.prototype.map", "map")}} 方法后再返回。也就是说 Array.from(obj, mapFn, thisArg) 就相当于 Array.from(obj).map(mapFn, thisArg), 除非创建的不是可用的中间数组。 这对一些数组的子类,typed arrays 来说很重要, 因为中间数组的值在调用 map() 时需要是适当的类型。

+

Array.from() 方法有一个可选参数 mapFn,让你可以在最后生成的数组上再执行一次 {{jsxref("Array.prototype.map", "map")}} 方法后再返回。也就是说 Array.from(obj, mapFn, thisArg) 就相当于 Array.from(obj).map(mapFn, thisArg), 除非创建的不是可用的中间数组。 这对一些数组的子类,typed arrays 来说很重要,因为中间数组的值在调用 map() 时需要是适当的类型。

from()length 属性为 1 ,即 Array.from.length === 1

@@ -107,7 +107,7 @@

Array.from 中使 // [0, 1, 2, 3, 4]

-

序列生成器(指定范围)

+

序列生成器 (指定范围)

// Sequence generator function (commonly referred to as "range", e.g. Clojure, PHP etc)
 const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/includes/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/includes/index.html
index 3fdd124719d497..b34131aad6a741 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/includes/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/includes/index.html
@@ -33,12 +33,12 @@ 

参数

fromIndex {{optional_inline}}
-
fromIndex 索引处开始查找 valueToFind。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜 (即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。
+
fromIndex 索引处开始查找 valueToFind。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜(即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。

返回值

-

返回一个布尔值 {{jsxref("Boolean")}} 。
]如果在数组中(或 fromIndex 指定的范围中)找到了 valueToFind,则返回 true,否则返回 false

+

返回一个布尔值 {{jsxref("Boolean")}} 。
如果在数组中(或 fromIndex 指定的范围中)找到了 valueToFind,则返回 true,否则返回 false

0 的值将全部视为相等,与符号无关(即 -0 与 0 和 +0 相等),但 false 不被认为与 0 相等。

@@ -144,7 +144,7 @@

Polyfill

-

如果你需要支持那些不支持Object.defineProperty的废弃JavaScript 引擎,你最好不要 polyfill Array.prototype 方法,因为你不能使它们不可枚举。

+

如果你需要支持那些不支持Object.defineProperty的废弃 JavaScript 引擎,你最好不要 polyfill Array.prototype 方法,因为你不能使它们不可枚举。

规范

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/index.md b/files/zh-cn/web/javascript/reference/global_objects/array/index.md index 134a984abdf24c..a1d017373a2e92 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/index.md +++ b/files/zh-cn/web/javascript/reference/global_objects/array/index.md @@ -13,7 +13,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Array --- {{JSRef}} -JavaScript的 **`Array`** 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 +JavaScript 的 **`Array`** 对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 ## 描述 @@ -128,7 +128,7 @@ let shallowCopy = fruits.slice() // this is how to make a copy ### 访问数组元素 -JavaScript 数组的索引是从0开始的,第一个元素的索引为0,最后一个元素的索引等于该数组的 {{jsxref("Array.length", "长度")}} 减1。 +JavaScript 数组的索引是从 0 开始的,第一个元素的索引为 0,最后一个元素的索引等于该数组的 {{jsxref("Array.length", "长度")}} 减 1。 如果指定的索引是一个无效值,JavaScript 数组并不会报错,而是会返回 `undefined`。 @@ -304,7 +304,7 @@ const myArray = myRe.exec('cdbBdbsbz') - {{jsxref("Array.prototype.fill()")}} - : 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素 - {{jsxref("Array.prototype.filter()")}} - - : 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素 + - : 创建一个新数组,其包含通过所提供函数实现的测试的所有元素 - {{jsxref("Array.prototype.find()")}} - : 返回数组中满足提供的测试函数的第一个元素的值。否则返回 `undefined` - {{jsxref("Array.prototype.findIndex()")}} @@ -332,7 +332,7 @@ const myArray = myRe.exec('cdbBdbsbz') - {{jsxref("Array.prototype.push()")}} - : 将一个或多个元素添加到数组的末尾,并返回该数组的新长度 - {{jsxref("Array.prototype.reduce()")}} - - : 对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值 + - : 对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值 - {{jsxref("Array.prototype.reduceRight()")}} - : 接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值 - {{jsxref("Array.prototype.reverse()")}} @@ -346,7 +346,7 @@ const myArray = myRe.exec('cdbBdbsbz') - {{jsxref("Array.prototype.sort()")}} - : 对数组元素进行原地排序并返回此数组 - {{jsxref("Array.prototype.splice()")}} - - : 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容 + - : 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容 - {{jsxref("Array.prototype.toLocaleString()")}} - : 返回一个字符串表示数组中的元素。数组中的元素将使用各自的 {{jsxref("Object.prototype.toLocaleString()")}} 方法转成字符串 - {{jsxref("Array.prototype.toString()")}} @@ -458,10 +458,10 @@ console.table(values) ## 相关链接 -- JavaScript 指南: +- JavaScript 指南: - [对象属性索引](/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#对象属性索引) - - [索引集合类: 数组对象](/zh-CN/docs/Web/JavaScript/Guide/Indexed_collections#数组对象array_object) + - [索引集合类:数组对象](/zh-CN/docs/Web/JavaScript/Guide/Indexed_collections#数组对象array_object) - [Typed Arrays](/zh-CN/docs/Web/JavaScript/Typed_arrays) - [RangeError: invalid array length](/zh-CN/docs/Web/JavaScript/Reference/Errors/Invalid_array_length) diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/indexof/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/indexof/index.html index 3e24bae2c5ea84..ae57e69e33ad32 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/indexof/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/indexof/index.html @@ -17,7 +17,7 @@
{{EmbedInteractiveExample("pages/js/array-indexof.html")}}
-

备注:对于String方法,请参阅 {{jsxref("String.prototype.indexOf()")}}。

+

备注:对于 String 方法,请参阅 {{jsxref("String.prototype.indexOf()")}}。

语法

@@ -30,7 +30,7 @@

参数

searchElement
要查找的元素
fromIndex {{optional_inline}}
-
开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0.
+
开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回 -1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即 -1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于 0,则整个数组都将会被查询。其默认值为 0。

返回值

@@ -39,13 +39,13 @@

返回值

描述

-

indexOf 使用strict equality (无论是 ===, 还是 triple-equals操作符都基于同样的方法)进行判断 searchElement与数组中包含的元素之间的关系。

+

indexOf 使用strict equality (无论是 ===, 还是 triple-equals 操作符都基于同样的方法) 进行判断 searchElement 与数组中包含的元素之间的关系。

示例

-

使用indexOf

+

使用 indexOf

-

以下例子使用indexOf方法确定多个值在数组中的位置。

+

以下例子使用indexOf 方法确定多个值在数组中的位置。

var array = [2, 5, 9];
 array.indexOf(2);     // 0
@@ -89,7 +89,7 @@ 

判断一

Polyfill

-

indexOf 在ECMA-262 标准 的第5版中被加入,但并非所有的浏览器都支持该方法。你可以在编写scripts时,在其开头使用以下代码,它能够允许你在没有本地支持的情况下使用indexOf方法。该算法符合ECMA-262第5版其中一项规定, 即假定 {{jsxref("Global_Objects/TypeError", "TypeError")}}和 {{jsxref("Math.abs")}} 呈现它们原有的值。

+

indexOf 在 ECMA-262 标准 的第 5 版中被加入,但并非所有的浏览器都支持该方法。你可以在编写 scripts 时,在其开头使用以下代码,它能够允许你在没有本地支持的情况下使用 indexOf 方法。该算法符合 ECMA-262 第 5 版其中一项规定,即假定 {{jsxref("Global_Objects/TypeError", "TypeError")}}和 {{jsxref("Math.abs")}} 呈现它们原有的值。

// Production steps of ECMA-262, Edition 5, 15.4.4.14
 // Reference: http://es5.github.io/#x15.4.4.14
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/join/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/join/index.html
index 935b9aa80006fa..2553dd3776a5c9 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/join/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/join/index.html
@@ -22,12 +22,12 @@ 

参数

separator {{optional_inline}}
-
指定一个字符串来分隔数组的每个元素。如果需要,将分隔符转换为字符串。如果缺省该值,数组元素用逗号(,)分隔。如果separator是空字符串(""),则所有元素之间都没有任何字符。
+
指定一个字符串来分隔数组的每个元素。如果需要,将分隔符转换为字符串。如果缺省该值,数组元素用逗号(,)分隔。如果separator是空字符串 (""),则所有元素之间都没有任何字符。

返回值

-

一个所有数组元素连接的字符串。如果 arr.length 为0,则返回空字符串。

+

一个所有数组元素连接的字符串。如果 arr.length 为 0,则返回空字符串。

描述

@@ -44,10 +44,10 @@

使用四种不同的分

下例首先创建了一个数组 a,包含有三个元素,然后用四种不同的分隔符连接所有数组元素。首先是默认的分隔符逗号,然后是一个逗号加空格,接下来是一个加号前后加空格,最后是一个空字符串。

var a = ['Wind', 'Rain', 'Fire'];
-var myVar1 = a.join();      // myVar1的值变为"Wind,Rain,Fire"
-var myVar2 = a.join(', ');  // myVar2的值变为"Wind, Rain, Fire"
-var myVar3 = a.join(' + '); // myVar3的值变为"Wind + Rain + Fire"
-var myVar4 = a.join('');    // myVar4的值变为"WindRainFire"
+var myVar1 = a.join();      // myVar1 的值变为"Wind,Rain,Fire"
+var myVar2 = a.join(', ');  // myVar2 的值变为"Wind, Rain, Fire"
+var myVar3 = a.join(' + '); // myVar3 的值变为"Wind + Rain + Fire"
+var myVar4 = a.join('');    // myVar4 的值变为"WindRainFire"
 

连接类数组对象

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/lastindexof/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/lastindexof/index.html index 87021c1608941e..4cc316081090d0 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/lastindexof/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/lastindexof/index.html @@ -76,7 +76,7 @@

例子:查找所有

注:原英文是针对使用三元操作符语句的作用进行说明的:
idx = (idx > 0 ? array.lastIndexOf(element, idx - 1) : -1);
- idx > 0时,才进入lastIndexOf由后往前移一位进行倒查找;如果idx == 0则直接设置idx = -1,循环while (idx != -1)就结束了。
+ idx > 0时,才进入 lastIndexOf 由后往前移一位进行倒查找;如果idx == 0则直接设置idx = -1,循环while (idx != -1)就结束了。
 

兼容旧环境(Polyfill)

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/length/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/length/index.html index 6731fc1d1465e8..a4bbbcaea734c9 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/length/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/length/index.html @@ -18,7 +18,7 @@

描述

length 属性的值是一个 0 到 2^32 - 1 的整数。

-
var namelistA = new Array(4294967296); // 2的32次方 = 4294967296
+
var namelistA = new Array(4294967296); // 2 的 32 次方 = 4294967296
 var namelistC = new Array(-100) // 负号
 
 console.log(namelistA.length); // RangeError: 无效数组长度
@@ -33,7 +33,7 @@ 

描述

// 4294967295
-

你可以设置 length 属性的值来截断任何数组。当通过改变length属性值来扩展数组时,实际元素的数目将会增加。例如:将一个拥有 2 个元素的数组的 length 属性值设为 3 时,那么这个数组将会包含3个元素,并且,第三个元素的值将会是 undefined

+

你可以设置 length 属性的值来截断任何数组。当通过改变length属性值来扩展数组时,实际元素的数目将会增加。例如:将一个拥有 2 个元素的数组的 length 属性值设为 3 时,那么这个数组将会包含 3 个元素,并且,第三个元素的值将会是 undefined

var arr = [1, 2, 3];
 printEntries(arr);
@@ -80,7 +80,7 @@ 

示例 

遍历数组

-

下面的例子中,通过数组下标遍历数组元素,并把每个元素的值修改为原值的2倍。

+

下面的例子中,通过数组下标遍历数组元素,并把每个元素的值修改为原值的 2 倍。

var numbers = [1, 2, 3, 4, 5];
 var length = numbers.length;
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
index 6706e0542a02d0..2552cccb89288b 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/map/index.html
@@ -48,7 +48,7 @@ 

描述

map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 {{jsxref("undefined")}})组合起来形成一个新数组。 callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。

-

因为map生成一个新数组,当你不打算使用返回的新数组却使用map是违背设计初衷的,请用forEach或者for-of替代。你不该使用map: A)你不打算使用返回的新数组,或/且 B) 你没有从回调函数中返回值。

+

因为map生成一个新数组,当你不打算使用返回的新数组却使用map是违背设计初衷的,请用forEach或者for-of替代。你不该使用map: A) 你不打算使用返回的新数组,或/且 B) 你没有从回调函数中返回值。

callback 函数会被自动传入三个参数:数组元素,元素索引,原数组本身。

@@ -58,7 +58,7 @@

描述

map 方法处理数组元素的范围是在 callback 方法第一次调用之前就已经确定了。调用map方法之后追加的数组元素不会被callback访问。如果存在的数组元素改变了,那么传给callback的值是map访问该元素时的值。在map函数调用后但在访问该元素前,该元素被删除的话,则无法被访问到。

-

根据规范中定义的算法,如果被map调用的数组是离散的,新数组将也是离散的保持相同的索引为空。

+

根据规范中定义的算法,如果被 map 调用的数组是离散的,新数组将也是离散的保持相同的索引为空。

示例

@@ -68,7 +68,7 @@

求数
var numbers = [1, 4, 9];
 var roots = numbers.map(Math.sqrt);
-// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
+// roots 的值为 [1, 2, 3], numbers 的值仍为 [1, 4, 9]

使用 map 重新格式化数组中的对象

@@ -86,23 +86,23 @@

使用 map 重新格式化 // reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}], -// kvArray 数组未被修改: +// kvArray 数组未被修改: // [{key: 1, value: 10}, // {key: 2, value: 20}, // {key: 3, value: 30}]

-

使用一个包含一个参数的函数来mapping(构建)一个数字数组

+

使用一个包含一个参数的函数来 mapping(构建) 一个数字数组

-

下面的代码表示了当函数需要一个参数时map的工作方式。当map循环遍历原始数组时,这个参数会自动被分配成数组中对应的每个元素。

+

下面的代码表示了当函数需要一个参数时 map 的工作方式。当 map 循环遍历原始数组时,这个参数会自动被分配成数组中对应的每个元素。

var numbers = [1, 4, 9];
 var doubles = numbers.map(function(num) {
   return num * 2;
 });
 
-// doubles数组的值为: [2, 8, 18]
-// numbers数组未被修改: [1, 4, 9]
+// doubles 数组的值为: [2, 8, 18] +// numbers 数组未被修改: [1, 4, 9]

一般的map 方法

@@ -112,7 +112,7 @@

一般的map 方法

var a = map.call("Hello World", function(x) { return x.charCodeAt(0); }) -// a的值为[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100] +// a 的值为 [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

querySelectorAll 应用

@@ -137,7 +137,7 @@

使用技巧案例

我们期望输出 [1, 2, 3], 而实际结果是 [1, NaN, NaN].

-

parseInt 经常被带着一个参数使用, 但是这里接受两个。第一个参数是一个表达式而第二个是callback function的基,Array.prototype.map 传递3个参数:

+

parseInt 经常被带着一个参数使用,但是这里接受两个。第一个参数是一个表达式而第二个是 callback function 的基,Array.prototype.map 传递 3 个参数:

  • the element
  • @@ -172,7 +172,7 @@

    使用技巧案例

    // For comparison, if we use parseInt() on the array above: ['1.1', '2.2e2', '3e300'].map( str => parseInt(str) ); // [1, 2, 3]
-

一个 map 方法调用 parseInt 作为一个参数的等效输出运行如下:

+

一个 map 方法调用 parseInt 作为一个参数的等效输出运行如下:

var xs = ['10', '10', '10'];
 
@@ -183,7 +183,7 @@ 

使用技巧案例

Mapping 含 undefined 的数组

-

当返回 undefined 或没有返回任何内容时:

+

当返回 undefined 或没有返回任何内容时:

var numbers = [1, 2, 3, 4];
 var filteredNumbers = numbers.map(function(num, index) {
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/of/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/of/index.html
index 8c12486fe271e5..5831ac1487d079 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/of/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/of/index.html
@@ -15,7 +15,7 @@
 
 

Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

-

 Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个长度为7的空数组(注意:这是指一个有7个空位(empty)的数组,而不是由7个undefined组成的数组)。

+

 Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个长度为 7 的空数组(注意:这是指一个有 7 个空位 (empty) 的数组,而不是由 7 个undefined组成的数组)。

Array.of(7);       // [7]
 Array.of(1, 2, 3); // [1, 2, 3]
@@ -41,7 +41,7 @@ 

返回值

描述

-

此函数是ECMAScript 2015标准的一部分。详见 Array.of 和 Array.from proposal 和 Array.of polyfill

+

此函数是 ECMAScript 2015 标准的一部分。详见 Array.of 和 Array.from proposal 和 Array.of polyfill

示例

diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/push/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/push/index.html index fd1154f7c64c42..4279966bc1baba 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/push/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/push/index.html @@ -38,7 +38,7 @@

返回值

描述

-

push方法将值追加到数组中。

+

push 方法将值追加到数组中。

push 方法具有通用性。该方法和 {{jsxref("Function.call", "call()")}} 或 {{jsxref("Function.apply", "apply()")}} 一起使用时,可应用在类似数组的对象上。push 方法根据 length 属性来决定从哪里开始插入给定的值。如果 length 不能被转成一个数值,则插入的元素索引为 0,包括 length 不存在时。当 length 不存在时,将会创建它。

@@ -63,7 +63,7 @@

合并两个数组

该示例使用 {{jsxref("Function.apply", "apply()")}} 添加第二个数组的所有元素。

-

注意当第二个数组(如示例中的moreVegs)太大时不要使用这个方法来合并数组,因为事实上一个函数能够接受的参数个数是有限制的。具体可以参考 {{jsxref("Function.apply", "apply()")}} 。

+

注意当第二个数组 (如示例中的 moreVegs) 太大时不要使用这个方法来合并数组,因为事实上一个函数能够接受的参数个数是有限制的。具体可以参考 {{jsxref("Function.apply", "apply()")}} 。

var vegetables = ['parsnip', 'potato'];
 var moreVegs = ['celery', 'beetroot'];
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/reverse/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/reverse/index.html
index 94cd3c127ab1bd..edc1ae5b27f35a 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/reverse/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/reverse/index.html
@@ -32,7 +32,7 @@ 

描述

reverse 方法颠倒数组中元素的位置,改变了数组,并返回该数组的引用。

-

reverse方法是特意类化的;此方法可被 called 或 applied于类似数组对象。对象如果不包含反映一系列连续的、基于零的数值属性中的最后一个长度的属性,则该对象可能不会以任何有意义的方式运行。

+

reverse 方法是特意类化的;此方法可被 called 或 applied于类似数组对象。对象如果不包含反映一系列连续的、基于零的数值属性中的最后一个长度的属性,则该对象可能不会以任何有意义的方式运行。

示例

@@ -52,7 +52,7 @@

颠倒数组中的元素

颠倒类数组中的元素

-

下例创造了一个类数组对象 a, 包含3个元素和一个 length 属性, 然后颠倒这个类数组对象。  reverse() 的调用返回一个颠倒后的类数组对象 a的引用。

+

下例创造了一个类数组对象 a, 包含 3 个元素和一个 length 属性,然后颠倒这个类数组对象。  reverse() 的调用返回一个颠倒后的类数组对象 a的引用。

const a = {0: 1, 1: 2, 2: 3, length: 3};
 
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/shift/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/shift/index.html
index 834f64aa96f378..a8185c8a4984a2 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/shift/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/shift/index.html
@@ -27,17 +27,17 @@ 

返回值 

描述

-

shift 方法移除索引为 0 的元素(即第一个元素),并返回被移除的元素,其他元素的索引值随之减 1。如果 {{jsxref("Array.length", "length")}} 属性的值为 0 (长度为 0),则返回 {{jsxref("undefined")}}。

+

shift 方法移除索引为 0 的元素 (即第一个元素),并返回被移除的元素,其他元素的索引值随之减 1。如果 {{jsxref("Array.length", "length")}} 属性的值为 0 (长度为 0),则返回 {{jsxref("undefined")}}。

-

shift 方法并不局限于数组:这个方法能够通过 {{jsxref("Function.call", "call")}} 或 {{jsxref("Function.apply", "apply")}} 方法作用于类似数组的对象上。但是对于没有 length 属性(从0开始的一系列连续的数字属性的最后一个)的对象,调用该方法可能没有任何意义。

+

shift 方法并不局限于数组:这个方法能够通过 {{jsxref("Function.call", "call")}} 或 {{jsxref("Function.apply", "apply")}} 方法作用于类似数组的对象上。但是对于没有 length 属性(从 0 开始的一系列连续的数字属性的最后一个)的对象,调用该方法可能没有任何意义。

-

{{jsxref("Array.prototype.pop()")}} 有着和 shift相似的行为, 但是是作用在数组的最后一个元素上的。

+

{{jsxref("Array.prototype.pop()")}} 有着和 shift相似的行为,但是是作用在数组的最后一个元素上的。

示例

移除数组中的一个元素

-

以下代码显示了删除其第一个元素之前和之后的myFish数组。它还显示已删除的元素:

+

以下代码显示了删除其第一个元素之前和之后的 myFish 数组。它还显示已删除的元素:

let myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
 
@@ -65,9 +65,9 @@ 

移除数组中的一个元素

console.log('Removed this element:', shifted); // Removed this element: angel
-

在while循环中使用shift()

+

在 while 循环中使用 shift()

-

shift() 方法经常用于while loop的环境中.。下例中每个循环将要从一个数组中移除下一项元素,直至它成为空数组。

+

shift() 方法经常用于 while loop 的环境中.。下例中每个循环将要从一个数组中移除下一项元素,直至它成为空数组。

var names = ["Andrew", "Edward", "Paul", "Chris" ,"John"];
 
diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
index 2d44c8dc8db39f..9f3abcd5810ae4 100644
--- a/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
+++ b/files/zh-cn/web/javascript/reference/global_objects/array/slice/index.html
@@ -26,7 +26,7 @@ 

参数

begin {{optional_inline}}
提取起始处的索引(从 0 开始),从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略 begin,则 slice 从索引 0 开始。如果 begin 超出原数组的索引范围,则会返回空数组。
end {{optional_inline}}
-
提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。
+
提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素(索引为 1, 2, 3 的元素)。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

返回值

@@ -38,7 +38,7 @@

描述

slice 不会修改原数组,只会返回一个浅复制了原数组中的元素的一个新数组。原数组的元素会按照下述规则拷贝:

    -
  • 如果该元素是个对象引用 (不是实际的对象),slice 会拷贝这个对象引用到新的数组里。两个对象引用都引用了同一个对象。如果被引用的对象发生改变,则新的和原来的数组中的这个元素也会发生改变。
  • +
  • 如果该元素是个对象引用(不是实际的对象),slice 会拷贝这个对象引用到新的数组里。两个对象引用都引用了同一个对象。如果被引用的对象发生改变,则新的和原来的数组中的这个元素也会发生改变。
    @@ -64,7 +64,7 @@

    返回现有数组的一部分

    使用 slice

    -

    在下例中, slicemyCar 中创建了一个新数组newCar。两个数组都包含了一个 myHonda 对象的引用。当 myHondacolor 属性改变为 purple,则两个数组中的对应元素都会随之改变。

    +

    在下例中,slicemyCar 中创建了一个新数组newCar。两个数组都包含了一个 myHonda 对象的引用。当 myHondacolor 属性改变为 purple,则两个数组中的对应元素都会随之改变。

    // 使用 slice 方法从 myCar 中创建一个 newCar。
     var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
    @@ -77,7 +77,7 @@ 

    使用 slice

    console.log(' myCar[0].color = ' + JSON.stringify(myCar[0].color)); console.log('newCar[0].color = ' + JSON.stringify(newCar[0].color)); -// 改变 myHonda 对象的 color 属性. +// 改变 myHonda 对象的 color 属性。 myHonda.color = 'purple'; console.log('The new color of my Honda is ' + myHonda.color); diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/some/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/some/index.html index 7d5102b18236e4..9e7efcd0794dd3 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/some/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/some/index.html @@ -12,7 +12,7 @@ ---
    {{JSRef}}
    -

    some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。

    +

    some() 方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。

    备注:如果用一个空数组进行测试,在任何情况下它返回的都是false

    @@ -44,7 +44,7 @@

    参数

    返回值

    -

    数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为false。

    +

    数组中有至少一个元素通过回调函数的测试就会返回true;所有元素都没有通过回调函数的测试返回值才会为 false。

    描述

    @@ -52,7 +52,7 @@

    描述

    callback 被调用时传入三个参数:元素的值,元素的索引,被遍历的数组。

    -

    如果一个thisArg参数提供给some(),它将被用作调用的 callback的 this 值。否则, 它的 this value将是 undefinedthis的值最终通过callback来观察,根据 the usual rules for determining the this seen by a function的this判定规则来确定。

    +

    如果一个thisArg参数提供给 some(),它将被用作调用的 callback的 this 值。否则, 它的 this value 将是 undefinedthis的值最终通过 callback 来观察,根据 the usual rules for determining the this seen by a function的 this 判定规则来确定。

    some() 被调用时不会改变数组。

    @@ -73,14 +73,14 @@

    测试数组元素的值

    使用箭头函数测试数组元素的值 -

    箭头函数 可以通过更简洁的语法实现相同的用例.

    +

    箭头函数 可以通过更简洁的语法实现相同的用例。

    [2, 5, 8, 1, 4].some(x => x > 10);  // false
     [12, 5, 8, 1, 4].some(x => x > 10); // true

    判断数组元素中是否存在某个值

    -

    此例中为模仿 includes()  方法, 若元素在数组中存在, 则回调函数返回值为 true :

    +

    此例中为模仿 includes()  方法,若元素在数组中存在,则回调函数返回值为 true :

    var fruits = ['apple', 'banana', 'mango', 'guava'];
     
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/sort/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/sort/index.html
    index 51bb55254ec3dc..2ad74bea61e77a 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/array/sort/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/array/sort/index.html
    @@ -11,7 +11,7 @@
     ---
     
    {{JSRef}}
    -

    sort() 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的

    +

    sort() 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的 UTF-16 代码单元值序列时构建的

    由于它取决于具体实现,因此无法保证排序的时间和空间复杂性。

    @@ -28,7 +28,7 @@

    参数

    compareFunction {{optional_inline}}
    -
    用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。 +
    用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的 Unicode 位点进行排序。
    firstEl
    第一个用于比较的元素。
    @@ -44,7 +44,7 @@

    返回值

    描述

    -

    如果没有指明 compareFunction ,那么元素会按照转换为的字符串的诸个字符的Unicode位点进行排序。例如 "Banana" 会被排列到 "cherry" 之前。当数字按由小到大排序时,9 出现在 80 之前,但因为(没有指明 compareFunction),比较的数字会先被转换为字符串,所以在Unicode顺序上 "80" 要比 "9" 要靠前。

    +

    如果没有指明 compareFunction ,那么元素会按照转换为的字符串的诸个字符的 Unicode 位点进行排序。例如 "Banana" 会被排列到 "cherry" 之前。当数字按由小到大排序时,9 出现在 80 之前,但因为(没有指明 compareFunction),比较的数字会先被转换为字符串,所以在 Unicode 顺序上 "80" 要比 "9" 要靠前。

    如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:

    @@ -64,7 +64,7 @@

    描述

    所以,比较函数格式如下:

    function compare(a, b) {
    -  if (a < b ) {           // 按某种排序标准进行比较, a 小于 b
    +  if (a < b ) {           // 按某种排序标准进行比较,a 小于 b
         return -1;
       }
       if (a > b ) {
    @@ -300,5 +300,5 @@ 

    参考

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/splice/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/splice/index.html index c29ef207fb7fa1..c75ce66e4e5da6 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/splice/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/splice/index.html @@ -12,7 +12,7 @@ ---
    {{JSRef}}
    -

    splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

    +

    splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

    {{EmbedInteractiveExample("pages/js/array-splice.html")}}
    @@ -25,11 +25,11 @@

    参数

    start​
    -
    指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。
    +
    指定修改的开始位置(从 0 计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从 -1 计数,这意味着 -n 是倒数第 n 个元素并且等价于 array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第 0 位。
    deleteCount {{optional_inline}}
    整数,表示要移除的数组元素的个数。如果 deleteCount 大于 start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是说,如果它大于或者等于start之后的所有元素的数量),那么start之后数组的所有元素都会被删除。如果 deleteCount 是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。
    item1, item2, ... {{optional_inline}}
    -
    要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。
    +
    要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

    返回值

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/tolocalestring/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/tolocalestring/index.html index b893cd7f8735d3..a1f289f5f4838b 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/tolocalestring/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/tolocalestring/index.html @@ -21,7 +21,7 @@

    参数

    locales {{optional_inline}}
    -
    带有BCP 47语言标记的字符串或字符串数组,关于locales参数的形式与解释,请看{{jsxref("Intl")}}页面。
    +
    带有 BCP 47 语言标记的字符串或字符串数组,关于locales参数的形式与解释,请看{{jsxref("Intl")}}页面。
    options {{optional_inline}}
    一个可配置属性的对象,对于数字 {{jsxref("Number.prototype.toLocaleString()")}},对于日期{{jsxref("Date.prototype.toLocaleString()")}}.
    @@ -136,7 +136,7 @@

    Polyfill

    }
    -

    如果你需要支持真正不支持Object.defineProperty的JavaScript引擎,最好不要对Array.prototype方法进行填充,因为你不能使它们不可枚举。

    +

    如果你需要支持真正不支持Object.defineProperty的 JavaScript 引擎,最好不要对Array.prototype方法进行填充,因为你不能使它们不可枚举。

    规范

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/tosource/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/tosource/index.html index a5371b0a9f1809..7dca5d3668614f 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/tosource/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/tosource/index.html @@ -7,7 +7,7 @@

    概述

    -

    返回一个字符串,代表该数组的源代码.

    +

    返回一个字符串,代表该数组的源代码。

    语法

    @@ -19,15 +19,15 @@

    参数

    描述

    -

    在调试时,你可以使用toSource方法来查看一个数组的内容.

    +

    在调试时,你可以使用toSource 方法来查看一个数组的内容。

    例子

    -

    例子: 查看数组的源码

    +

    例子:查看数组的源码

    var alpha = new Array("a", "b", "c");
     
    -alpha.toSource();   //返回["a", "b", "c"]
    +alpha.toSource(); //返回 ["a", "b", "c"]

    浏览器兼容性

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/tostring/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/tostring/index.html index 3c41f1dbc428d8..a22ca5bb63e4c1 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/tostring/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/tostring/index.html @@ -30,7 +30,7 @@

    描述

    ECMAScript 5 semantics

    -

    从 JavaScript 1.8.5 (Firefox 4) 开始,和 ECMAScript 第5版语义(semantics)一致,toString() 方法是通用的,可被用于任何对象。将调用{{jsxref("Object.prototype.toString()")}},并返回结果值。

    +

    从 JavaScript 1.8.5 (Firefox 4) 开始,和 ECMAScript 第 5 版语义(semantics)一致,toString() 方法是通用的,可被用于任何对象。将调用{{jsxref("Object.prototype.toString()")}},并返回结果值。

    规范

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/array/unshift/index.html b/files/zh-cn/web/javascript/reference/global_objects/array/unshift/index.html index e6e2a8b693db6d..36b5f529453094 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/array/unshift/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/array/unshift/index.html @@ -13,7 +13,7 @@ ---

    {{JSRef}}

    -

    unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)

    +

    unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。

    {{EmbedInteractiveExample("pages/js/array-unshift.html")}}
    @@ -40,9 +40,9 @@

    描述

    unshift 方法会在调用它的类数组对象的开始位置插入给定的参数。

    -

    unshift 特意被设计成具有通用性;这个方法能够通过 {{jsxref("Function.call", "call")}} 或 {{jsxref("Function.apply", "apply")}} 方法作用于类数组对象上。不过对于没有 length 属性(代表从0开始的一系列连续的数字属性的最后一个)的对象,调用该方法可能没有任何意义。

    +

    unshift 特意被设计成具有通用性;这个方法能够通过 {{jsxref("Function.call", "call")}} 或 {{jsxref("Function.apply", "apply")}} 方法作用于类数组对象上。不过对于没有 length 属性(代表从 0 开始的一系列连续的数字属性的最后一个)的对象,调用该方法可能没有任何意义。

    -

    注意, 如果传入多个参数,它们会被以块的形式插入到对象的开始位置,它们的顺序和被作为参数传入时的顺序一致。 于是,传入多个参数调用一次 unshift ,和传入一个参数调用多次 unshift (例如,循环调用),它们将得到不同的结果。例如:

    +

    注意,如果传入多个参数,它们会被以块的形式插入到对象的开始位置,它们的顺序和被作为参数传入时的顺序一致。 于是,传入多个参数调用一次 unshift ,和传入一个参数调用多次 unshift (例如,循环调用),它们将得到不同的结果。例如:

    let arr = [4,5,6];
     arr.unshift(1,2,3);
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html
    index af8868a563448e..80902ff4fad264 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html
    @@ -17,9 +17,7 @@ 

    语法

    描述

    -

    byteLength属性是一个访问器属性,它的set访问器函数是undefined,这意味着你只能读这个属性。 该值在数组创建时确定,并且不可变更。如果这个ArrayBuffer 被移除,则此属性返回0。

    - -

     

    +

    byteLength 属性是一个访问器属性,它的 set 访问器函数是 undefined,这意味着你只能读这个属性。 该值在数组创建时确定,并且不可变更。如果这个ArrayBuffer 被移除,则此属性返回 0。

    示例

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html index 1f5e0a12f186fb..d68fd60201559c 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/index.html @@ -57,9 +57,9 @@

    属性

    ArrayBuffer.length
    -
    ArrayBuffer 构造函数的 length 属性,其值为1。
    +
    ArrayBuffer 构造函数的 length 属性,其值为 1。
    {{jsxref("ArrayBuffer.prototype.byteLength")}}
    -
    只读属性,表示 ArrayBuffer 的byte的大小,在ArrayBuffer构造完成时生成,不可改变。
    +
    只读属性,表示 ArrayBuffer 的 byte 的大小,在 ArrayBuffer 构造完成时生成,不可改变。
    {{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}}
    返回 ArrayBuffer 的构造函数。
    {{jsxref("ArrayBuffer.prototype")}}
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/slice/index.html b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/slice/index.html index 1530f9f5df117a..91ed39e6001f66 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/slice/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/arraybuffer/slice/index.html @@ -5,7 +5,7 @@ ---
    {{JSRef}}
    -

    slice()方法返回一个新的 ArrayBuffer ,它的内容是这个ArrayBuffer的字节副本,从begin(包括),到end(不包括)。

    +

    slice()方法返回一个新的 ArrayBuffer ,它的内容是这个 ArrayBuffer 的字节副本,从 begin(包括),到 end(不包括)。

    {{EmbedInteractiveExample("pages/js/arraybuffer-slice.html")}}
    @@ -21,7 +21,7 @@

    参数

    begin
    从零开始的字节索引,切片从这开始。
    end
    -
    结束切片的字节索引。如果没指定end,新的 ArrayBuffer 将包含这个 ArrayBuffer 从头到尾的所有字节。由begin和end指定的这个范围夹在当前数组的有效索引范围内。如果新ArrayBuffer的长度在计算后为负,它将强制为0 。
    +
    结束切片的字节索引。如果没指定 end,新的 ArrayBuffer 将包含这个 ArrayBuffer 从头到尾的所有字节。由 begin 和 end 指定的这个范围夹在当前数组的有效索引范围内。如果新ArrayBuffer的长度在计算后为负,它将强制为 0 。

    返回值

    @@ -30,7 +30,7 @@

    返回值

    描述

    -

    slice 方法复制到但不包括由end参数指示的字节。如果begin或end是负数,则指的是从数组末尾开始的索引,而不是从头开始。

    +

    slice 方法复制到但不包括由 end 参数指示的字节。如果 begin 或 end 是负数,则指的是从数组末尾开始的索引,而不是从头开始。

    示例

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/add/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/add/index.html index c81314d28a071c..9d0f554b6785e1 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/add/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/add/index.html @@ -41,7 +41,7 @@

    错误

    • 假如 typedArray 不是允许的整型之一,则抛出 {{jsxref("TypeError")}}。
    • -
    • 假如 typedArray 不是一个shared typed array类型,则抛出 {{jsxref("TypeError")}}。
    • +
    • 假如 typedArray 不是一个 shared typed array 类型,则抛出 {{jsxref("TypeError")}}。
    • 如果 index 超出了 typedArray 的边界,则抛出 {{jsxref("RangeError")}}。
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/and/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/and/index.html index 32f5a8bbd429a8..073cd5e5092e99 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/and/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/and/index.html @@ -47,7 +47,7 @@

    错误

    描述

    -

    假如 a 和 b 都是 1,那么按位与运算( a & b)仅产生1。与操作的真值表为:

    +

    假如 a 和 b 都是 1,那么按位与运算( a & b)仅产生 1。与操作的真值表为:

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/compareexchange/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/compareexchange/index.html index 33aa8efea58e0b..f91229c6585ea9 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/compareexchange/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/compareexchange/index.html @@ -36,7 +36,7 @@

    参数

    返回值

    -

    给定位置的旧值(typedArray[index]).

    +

    给定位置的旧值(typedArray[index])。

    错误

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/exchange/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/exchange/index.html index 8ebff422a18a1b..fcb1c774e28bf9 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/exchange/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/exchange/index.html @@ -36,7 +36,7 @@

    参数

    返回值

    -

    给定位置的旧值(typedArray[index]).

    +

    给定位置的旧值(typedArray[index])。

    错误

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html index 2b3b3364a44644..7d5332c137effb 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/index.html @@ -105,7 +105,7 @@

    Waiting 和 notifiying

    const int32 = new Int32Array(sab); -

    读取线程正在休眠并位置0上等待。只要该位置应为0,它就不会继续。但是,一旦写入线程存储了新值,写入线程将通知它并返回新值(123)。

    +

    读取线程正在休眠并位置 0 上等待。只要该位置应为 0,它就不会继续。但是,一旦写入线程存储了新值,写入线程将通知它并返回新值(123)。

    Atomics.wait(int32, 0, 0);
     console.log(int32[0]); // 123
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/islockfree/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/islockfree/index.html
    index be8b32b587b50b..a9b4fdea4d3fb6 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/islockfree/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/islockfree/index.html
    @@ -5,7 +5,7 @@
     ---
     
    {{JSRef}} {{SeeCompatTable}}
    -

    静态方法 Atomics.isLockFree() 用于校验是否能够使用原子操作的TypedArray的标准字节长度之一. 若该字节长度为可处理的TypedArray标准字节长度之一则返回  true.  TypedArray的标准字节长度参见 BYTES_PER_ELEMENT

    +

    静态方法 Atomics.isLockFree() 用于校验是否能够使用原子操作的 TypedArray 的标准字节长度之一。若该字节长度为可处理的 TypedArray 标准字节长度之一则返回 true。TypedArray 的标准字节长度参见 BYTES_PER_ELEMENT

    {{EmbedInteractiveExample("pages/js/atomics-islockfree.html")}}
    @@ -20,12 +20,12 @@

    参数

    size
    -
    整形.字节长度,通常为TypedArray.BYTES_PER_ELEMENT
    +
    整形。字节长度,通常为TypedArray.BYTES_PER_ELEMENT

    返回值

    -

     {{jsxref("Boolean")}} 是否为能够使用原子操作的TypedArray的标准字节长度之一.

    +

     {{jsxref("Boolean")}} 是否为能够使用原子操作的TypedArray的标准字节长度之一。

    示例

    @@ -37,7 +37,7 @@

    示例

    Atomics.isLockFree(6); // false Atomics.isLockFree(7); // false Atomics.isLockFree(8); // false -Atomics.isLockFree(Float64Array.BYTES_PER_ELEMENT); // false,Atomics方法无法处理Float64Array
    +Atomics.isLockFree(Float64Array.BYTES_PER_ELEMENT); // false, Atomics 方法无法处理 Float64Array

    Specifications

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html index 7682af0a7ba42d..d730052cde2d77 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/notify/index.html @@ -51,7 +51,7 @@

    示例

    var int32 = new Int32Array(sab); -

    一个读线程会进入休眠并监视索引0处的值(默认为0)。只要索引0处的值不为0,读进程就会唤醒。但是,一旦写进程存储了一个新的值,写进程就会产生一个提醒并返回写入后的新值(123)。(这里示例有问题或者说对初学者不友好,如果直接在浏览器控制台运行下面代码会报错,因为我们不能尝试睡眠主线程,可以见 重学js —— 结构化数据之Atomics对象,同时我在 codepen 写了一个示例:Atomics.wait使用示例

    +

    一个读线程会进入休眠并监视索引 0 处的值(默认为 0)。只要索引 0 处的值不为 0,读进程就会唤醒。但是,一旦写进程存储了一个新的值,写进程就会产生一个提醒并返回写入后的新值(123)。(这里示例有问题或者说对初学者不友好,如果直接在浏览器控制台运行下面代码会报错,因为我们不能尝试睡眠主线程,可以见 重学 js —— 结构化数据之 Atomics 对象,同时我在 codepen 写了一个示例:Atomics.wait 使用示例

    Atomics.wait(int32, 0, 0);
     console.log(int32[0]); // 123
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/or/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/or/index.html index 286e89cc0a5b01..dba8db83df61de 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/or/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/or/index.html @@ -10,7 +10,7 @@ ---
    {{JSRef}}
    -

    静态方法 Atomics.or() 用数组中指定位置的值进行一次按位或运算,并返回未计算时数组中指定位置处的值。这个atomic操作保证了在修改后的值被写回之前没有其它的写入操作发生。

    +

    静态方法 Atomics.or() 用数组中指定位置的值进行一次按位或运算,并返回未计算时数组中指定位置处的值。这个 atomic 操作保证了在修改后的值被写回之前没有其它的写入操作发生。

    {{EmbedInteractiveExample("pages/js/atomics-or.html")}}
    @@ -25,7 +25,7 @@

    参数

    typedArray
    -
    一个共享的int数组,类型为 {{jsxref("Int8Array")}}、{{jsxref("Uint8Array")}}、{{jsxref("Int16Array")}}、{{jsxref("Uint16Array")}}、{{jsxref("Int32Array")}} 或 {{jsxref("Uint32Array")}}。
    +
    一个共享的 int 数组,类型为 {{jsxref("Int8Array")}}、{{jsxref("Uint8Array")}}、{{jsxref("Int16Array")}}、{{jsxref("Uint16Array")}}、{{jsxref("Int32Array")}} 或 {{jsxref("Uint32Array")}}。
    index
    typedArray 中要进行按位或运算的索引。
    value
    @@ -39,14 +39,14 @@

    返回值

    异常

      -
    • 若 typedArray 不是一个可用的int类型,则抛出一个 {{jsxref("TypeError")}} 异常。
    • +
    • 若 typedArray 不是一个可用的 int 类型,则抛出一个 {{jsxref("TypeError")}} 异常。
    • 若 typedArray 不是一个共享的数组类型,则抛出一个 {{jsxref("TypeError")}} 异常。
    • 若 index 索引超出了 typedArray 的大小,则抛出一个 {{jsxref("RangeError")}} 异常。

    详情

    -

    当 a 或者 b 为1时,按位或运算结果为1。或运算真值表如下:

    +

    当 a 或者 b 为 1 时,按位或运算结果为 1。或运算真值表如下:

    @@ -80,7 +80,7 @@

    详情

    -

    例如,让 5 & 1 进行按位或运算的结果是 0101 ,也就是十进制的5:

    +

    例如,让 5 & 1 进行按位或运算的结果是 0101 ,也就是十进制的 5:

    5  0101
     1  0001
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/store/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/store/index.html
    index 9a7d52228c5d15..0b9f1251d43bb5 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/store/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/store/index.html
    @@ -5,7 +5,7 @@
     ---
     
    {{JSRef}}
    -

    静态的Atomics.store()方法将给定的值存储在数组中的指定位置,并返回该值。.

    +

    静态的 Atomics.store() 方法将给定的值存储在数组中的指定位置,并返回该值。

    {{EmbedInteractiveExample("pages/js/atomics-store.html")}}
    @@ -20,23 +20,23 @@

    参数

    typedArray
    -
    一个指定类型的shared数组. 类型为 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, 或者 {{jsxref("Uint32Array")}}其中一个.
    +
    一个指定类型的 shared 数组。类型为 {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}}, 或者 {{jsxref("Uint32Array")}}其中一个。
    index
    -
    typedArray中用来存储value的位置.
    +
    typedArray 中用来存储 value 的位置。
    value
    -
    要存储的数字.
    +
    要存储的数字。

    返回值

    -

    被存储的值.

    +

    被存储的值。

    异常

      -
    • 抛出一个{{jsxref("TypeError")}}异常, 如果 typedArray 不是上述给定的类型之一.
    • -
    • 抛出一个{{jsxref("TypeError")}}异常, 如果 typedArray 不是一个指定类型的shared类型数组.
    • -
    • 抛出一个{{jsxref("RangeError")}}异常, 如果 index 在 typedArray中越界了。
    • +
    • 抛出一个{{jsxref("TypeError")}}异常,如果 typedArray 不是上述给定的类型之一。
    • +
    • 抛出一个{{jsxref("TypeError")}}异常,如果 typedArray 不是一个指定类型的 shared 类型数组。
    • +
    • 抛出一个{{jsxref("RangeError")}}异常,如果 index 在 typedArray中越界了。

    示例

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/wait/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/wait/index.html index ab56ef251212fd..89a85ff14ce9c2 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/wait/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/wait/index.html @@ -53,12 +53,12 @@

    示例

    var int32 = new Int32Array(sab);
    -

    检测给定的数组索引0的值,如果它如预期一般的等于我们给定的值0,则这个读取线程将会睡眠等待。一旦当有一个写入线程在这个位置存储了一个新值,它将会收到写入线程的通知并且返回新值 (123) :

    +

    检测给定的数组索引 0 的值,如果它如预期一般的等于我们给定的值 0,则这个读取线程将会睡眠等待。一旦当有一个写入线程在这个位置存储了一个新值,它将会收到写入线程的通知并且返回新值 (123) :

    Atomics.wait(int32, 0, 0);
     console.log(int32[0]); // 123
    -

    一旦某个写入线程存储了一个新值到int32 的索引0位置,则通知给该等待线程:

    +

    一旦某个写入线程存储了一个新值到int32 的索引 0 位置,则通知给该等待线程:

    console.log(int32[0]); // 0;
     Atomics.store(int32, 0, 123);
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/atomics/xor/index.html b/files/zh-cn/web/javascript/reference/global_objects/atomics/xor/index.html
    index 5ad7b74d198af7..fc71fc140586df 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/atomics/xor/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/atomics/xor/index.html
    @@ -43,7 +43,7 @@ 

    异常

    描述

    -

    如果a和b不同,则按位异或操作产生1。异或操作的真值表如下:

    +

    如果 a 和 b 不同,则按位异或操作产生 1。异或操作的真值表如下:

    diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint/asintn/index.html b/files/zh-cn/web/javascript/reference/global_objects/bigint/asintn/index.html index da27bcf501c280..5ca5b49bbdc6a1 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/bigint/asintn/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/bigint/asintn/index.html @@ -26,13 +26,13 @@

    参数

    返回值

    -

    bigint 模(modulo) 2^width 作为有符号整数的值。

    +

    bigint 模 (modulo) 2^width 作为有符号整数的值。

    例子

    -

    保持在64位范围内

    +

    保持在 64 位范围内

    -

    BigInt.asIntN() 方法对于保持在64位(64-bit)算数范围内非常有用。

    +

    BigInt.asIntN() 方法对于保持在 64 位 (64-bit) 算数范围内非常有用。

    const max = 2n ** (64n - 1n) - 1n;
     
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint/asuintn/index.html b/files/zh-cn/web/javascript/reference/global_objects/bigint/asuintn/index.html
    index e313871d3680c4..e3754de5692902 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/bigint/asuintn/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/bigint/asuintn/index.html
    @@ -26,13 +26,13 @@ 

    参数

    返回值

    -

    bigint 模(modulo) 2^width 作为无符号整数的值。

    +

    bigint 模 (modulo) 2^width 作为无符号整数的值。

    例子

    -

    保持在64位范围内

    +

    保持在 64 位范围内

    -

    BigInt.asUintN() 方法对于保持在64位(64-bit)算数范围内非常有用。

    +

    BigInt.asUintN() 方法对于保持在 64 位 (64-bit) 算数范围内非常有用。

    const max = 2n ** 64n - 1n;
     
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint/index.html b/files/zh-cn/web/javascript/reference/global_objects/bigint/index.html
    index 552ecddc3fc0e7..a88f6b06a24456 100644
    --- a/files/zh-cn/web/javascript/reference/global_objects/bigint/index.html
    +++ b/files/zh-cn/web/javascript/reference/global_objects/bigint/index.html
    @@ -5,7 +5,7 @@
     ---
     

    {{JSRef}}

    -

    BigInt 是一种内置对象,它提供了一种方法来表示大于 2^53 - 1 的整数。这原本是 Javascript中可以用 {{JSxRef("Number")}} 表示的最大数字。BigInt 可以表示任意大的整数。

    +

    BigInt 是一种内置对象,它提供了一种方法来表示大于 2^53 - 1 的整数。这原本是 Javascript 中可以用 {{JSxRef("Number")}} 表示的最大数字。BigInt 可以表示任意大的整数。

    @@ -180,7 +180,7 @@

    实例方法

    {{JSxRef("BigInt.prototype.toLocaleString()")}}
    返回此数字的 language-sensitive 形式的字符串。覆盖 {{JSxRef("Object.prototype.toLocaleString()")}}  方法。
    {{JSxRef("BigInt.prototype.toString()")}}
    -
    返回以指定基数(base)表示指定数字的字符串。覆盖 {{JSxRef("Object.prototype.toString()")}} 方法。
    +
    返回以指定基数 (base) 表示指定数字的字符串。覆盖 {{JSxRef("Object.prototype.toString()")}} 方法。
    {{JSxRef("BigInt.prototype.valueOf()")}}
    返回指定对象的基元值。 覆盖 {{JSxRef("Object.prototype.valueOf()")}} 方法。
    @@ -189,7 +189,7 @@

    使用建议

    转化

    -

    由于在 {{JSxRef("Number")}} 与 BigInt 之间进行转换会损失精度,因而建议仅在值可能大于2^53 时使用 BigInt 类型,并且不在两种类型之间进行相互转换。

    +

    由于在 {{JSxRef("Number")}} 与 BigInt 之间进行转换会损失精度,因而建议仅在值可能大于 2^53 时使用 BigInt 类型,并且不在两种类型之间进行相互转换。

    密码学

    @@ -201,7 +201,7 @@

    在 JSON 中使用

    BigInt.prototype.toJSON = function() { return this.toString(); }
    -

    JSON.stringify 现在生成如下字符串,而不是抛出异常:

    +

    JSON.stringify 现在生成如下字符串,而不是抛出异常:

    JSON.stringify(BigInt(1));
     // '"1"'
    @@ -246,7 +246,7 @@

    标准

    - +
    BigInt第4阶段第 4 阶段
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint/tostring/index.html b/files/zh-cn/web/javascript/reference/global_objects/bigint/tostring/index.html index b7de965db8b064..01e75f3857b8c9 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/bigint/tostring/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/bigint/tostring/index.html @@ -37,9 +37,9 @@

    描述

    {{jsxref("BigInt")}} 对象重写 {{jsxref("Object")}} 对象的 toString() 方法;它不继承 {{jsxref("Object.prototype.toString()")}}。对于 {{jsxref( "BigInt")}} 对象,toString() 方法返回指定基数中对象的字符串表示形式。

    -

    toString() 方法解析其第一个参数,并尝试返回指定基数(base)的字符串表示形式。对于大于 10 的参数,使用字母表中的字母表示大于 9 的数字。例如,对于十六进制数(以16为基数),使用 a 到 f。

    +

    toString() 方法解析其第一个参数,并尝试返回指定基数 (base) 的字符串表示形式。对于大于 10 的参数,使用字母表中的字母表示大于 9 的数字。例如,对于十六进制数(以 16 为基数),使用 a 到 f。

    -

    如果未指定基数,则假定首选基数为10。

    +

    如果未指定基数,则假定首选基数为 10。

    如果 bigIntObj 为负,则保留符号。即使基数是 2,情况也是如此;返回的字符串是 bigIntObj 的正二进制表示,前面是一个 - 符号,而不是 bigIntObj 的两个补码。

    @@ -56,7 +56,7 @@

    Using toString

    Negative-zero BigInt

    -

    没有负零 BigInt,因为整数中没有负零。-0.0 是一个 IEEE 浮点概念,只出现在JavaScript {{jsxref("Number")}} 类型中。

    +

    没有负零 BigInt,因为整数中没有负零。-0.0 是一个 IEEE 浮点概念,只出现在 JavaScript {{jsxref("Number")}} 类型中。

    (-0n).toString();      // '0'
     BigInt(-0).toString(); // '0'
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.md b/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.md index c0a62a8bc98705..9d36b3258266d6 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.md +++ b/files/zh-cn/web/javascript/reference/global_objects/bigint64array/index.md @@ -14,12 +14,12 @@ browser-compat: javascript.builtins.BigInt64Array --- {{JSRef}} -**`BigInt64Array`** 类型的数组代表由64位有符号整数组成的数组。如果需要控制字节顺序的话,请使用 {{jsxref("DataView")}} 代替。内容初始化为 `0n`。一旦建立,就可以使用对象的方法或使用标准数组索引语法(即使用中括号表示法)引用数组中的元素。 +**`BigInt64Array`** 类型的数组代表由 64 位有符号整数组成的数组。如果需要控制字节顺序的话,请使用 {{jsxref("DataView")}} 代替。内容初始化为 `0n`。一旦建立,就可以使用对象的方法或使用标准数组索引语法(即使用中括号表示法)引用数组中的元素。 ## 构造函数 - [`BigInt64Array()`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array/BigInt64Array) - - : 创建一个新的 `BigInt64Array` 对象. + - : 创建一个新的 `BigInt64Array` 对象。 ## 静态属性 diff --git a/files/zh-cn/web/javascript/reference/global_objects/biguint64array/index.html b/files/zh-cn/web/javascript/reference/global_objects/biguint64array/index.html index b689fe581e358b..e8063676222e76 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/biguint64array/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/biguint64array/index.html @@ -5,7 +5,7 @@ ---
     {{JSRef}}
    -

    BigUint64Array 类型数组表示一个平台字节顺序的64位无符号整型数组。如果想要控制字符顺序,请使用 {{jsxref("DataView")}} 替代。内容初始化为 0n. 创建之后可以使用对象中的方法或使用标准数组索引语法(括号表示法)来获取数组中的元素。

    +

    BigUint64Array 类型数组表示一个平台字节顺序的 64 位无符号整型数组。如果想要控制字符顺序,请使用 {{jsxref("DataView")}} 替代。内容初始化为 0n. 创建之后可以使用对象中的方法或使用标准数组索引语法 (括号表示法) 来获取数组中的元素。

    句法

    @@ -21,7 +21,7 @@

    属性

    {{jsxref("TypedArray.BYTES_PER_ELEMENT", "BigUint64Array.BYTES_PER_ELEMENT")}}
    -
    返回一个元素容量的数字值. 8 in the case of a BigUint64Array.
    +
    返回一个元素容量的数字值。8 in the case of a BigUint64Array.
    BigUint64Array.length
    Static length property whose value is 3. For the actual length (number of elements), see {{jsxref("TypedArray.prototype.length", "BigUint64Array.prototype.length")}}.
    {{jsxref("TypedArray.name", "BigUint64Array.name")}}
    diff --git a/files/zh-cn/web/javascript/reference/global_objects/boolean/tosource/index.html b/files/zh-cn/web/javascript/reference/global_objects/boolean/tosource/index.html index a9f2272d3f6588..b57e79aecf713f 100644 --- a/files/zh-cn/web/javascript/reference/global_objects/boolean/tosource/index.html +++ b/files/zh-cn/web/javascript/reference/global_objects/boolean/tosource/index.html @@ -23,24 +23,24 @@

    返回值

    描述

    -

    toSource方法返回以下值:

    +

    toSource 方法返回以下值:

      -
    • 对于内置的 {{jsxref("Boolean")}} 对象,toSource返回以下字符串,表示源代码不可用: +
    • 对于内置的 {{jsxref("Boolean")}} 对象,toSource 返回以下字符串,表示源代码不可用:
      function Boolean() {
           [native code]
       }
       
    • -
    • 对于 {{jsxref("Boolean")}} 的实例,toSource返回一个表示源代码的字符串。
    • +
    • 对于 {{jsxref("Boolean")}} 的实例,toSource 返回一个表示源代码的字符串。
    -

    此方法通常由JavaScript在内部调用,而不是在代码中显式调用。

    +

    此方法通常由 JavaScript 在内部调用,而不是在代码中显式调用。

    规范

    -

    不是任何标准的一部分。 在JavaScript 1.3中实现。

    +

    不是任何标准的一部分。 在 JavaScript 1.3 中实现。

    浏览器兼容性