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}}Promise.any([ Promise.reject(new Error("some error")), @@ -60,7 +60,7 @@-捕获一个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
target
将从末尾开始计算。如果 target
大于等于 arr.length
,将不会发生拷贝。如果 target
在 start
之后,复制的序列将被修改以符合 arr.length
。start
start
将从末尾开始计算。如果 start
被忽略,copyWithin
将会从0开始复制。start
将从末尾开始计算。如果 start
被忽略,copyWithin
将会从 0 开始复制。end
copyWithin
将会拷贝到该位置,但不包括 end
这个位置的元素。如果是负数, end
将从末尾开始计算。如果 end
被忽略,copyWithin
方法将会一直复制至数组结尾(默认为 arr.length
)。一个新的 {{jsxref("Array")}} 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的[key,value]。
+一个新的 {{jsxref("Array")}} 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的 [key,value]。
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 的数组
value
start
{{optional_inline}}end
{{optional_inline}}this.length
。fill
方法接受三个参数 value
, start
以及 end
. start
和 end
参数是可选的, 其默认值分别为 0
和 this
对象的 length
属性值。
fill
方法接受三个参数 value
, start
以及 end
. start
和 end
参数是可选的,其默认值分别为 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
方法的时候,填充数组的是这个对象的引用。
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 @@本方法在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
thisArg
callback
时作为this
对象的值.callback
时作为this
对象的值。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 @@如果您需要兼容不支持Object.defineProperty
的JavaScript引擎,那么最好不要对Array.prototype
方法进行 polyfill ,因为您无法使其成为不可枚举的。
如果您需要兼容不支持Object.defineProperty
的 JavaScript 引擎,那么最好不要对Array.prototype
方法进行 polyfill ,因为您无法使其成为不可枚举的。
使用此方法需要注意你是否在uc浏览器环境,如果你的页面在支付宝上使用尤其注意,因为支付宝使用的就是uc浏览器环境.
+使用此方法需要注意你是否在 uc 浏览器环境,如果你的页面在支付宝上使用尤其注意,因为支付宝使用的就是 uc 浏览器环境。
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
}
// 无递归数组扁平化,使用堆栈 // 注意:深度的控制比较低效,因为需要检查每一个值的深度 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 tocallbackfn
.',即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 tocallbackfn
.',即forEach
不会直接改变调用它的对象,但是那个对象可能会被callback
函数改变。)备注: 除了抛出异常以外,没有办法中止或跳出
@@ -267,7 +267,7 @@forEach()
循环。如果你需要中止或跳出循环,forEach()
方法不是应当使用的工具。针对 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() 时需要是适当的类型。@@ -107,7 +107,7 @@
from()
的length
属性为 1 ,即Array.from.length === 1
。在
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 相等),但
@@ -144,7 +144,7 @@false
不被认为与 0 相等。Polyfill
如果你需要支持那些不支持
+Object.defineProperty
的废弃JavaScript 引擎,你最好不要 polyfillArray.prototype
方法,因为你不能使它们不可枚举。如果你需要支持那些不支持
Object.defineProperty
的废弃 JavaScript 引擎,你最好不要 polyfillArray.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}}indexOf
使用strict equality (无论是 ===, 还是 triple-equals操作符都基于同样的方法)进行判断 searchElement与
数组中包含的元素之间的关系。
indexOf
使用strict equality (无论是 ===, 还是 triple-equals 操作符都基于同样的方法) 进行判断 searchElement
与数组中包含的元素之间的关系。
以下例子使用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,则返回空字符串。
下例首先创建了一个数组 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"
注:原英文是针对使用三元操作符语句的作用进行说明的:
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)
就结束了。
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) 你没有从回调函数中返回值。@@ -58,7 +58,7 @@
callback
函数会被自动传入三个参数:数组元素,元素索引,原数组本身。描述
-
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
方法map
方法querySelectorAll 应用
我们期望输出 [1, 2, 3]
, 而实际结果是 [1, NaN, NaN]
.
parseInt 经常被带着一个参数使用, 但是这里接受两个。第一个参数是一个表达式而第二个是callback function的基,Array.prototype.map
传递3个参数:
parseInt 经常被带着一个参数使用,但是这里接受两个。第一个参数是一个表达式而第二个是 callback function 的基,Array.prototype.map
传递 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 方法将值追加到数组中。
@@ -63,7 +63,7 @@
push
方法具有通用性。该方法和 {{jsxref("Function.call", "call()")}} 或 {{jsxref("Function.apply", "apply()")}} 一起使用时,可应用在类似数组的对象上。push
方法根据length
属性来决定从哪里开始插入给定的值。如果length
不能被转成一个数值,则插入的元素索引为 0,包括length
不存在时。当length
不存在时,将会创建它。合并两个数组
该示例使用 {{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
在下例中,
+slice
从myCar
中创建了一个新数组newCar
。两个数组都包含了一个myHonda
对象的引用。当myHonda
的color
属性改变为purple
,则两个数组中的对应元素都会随之改变。在下例中,
slice
从myCar
中创建了一个新数组newCar
。两个数组都包含了一个myHonda
对象的引用。当myHonda
的color
属性改变为purple
,则两个数组中的对应元素都会随之改变。// 使用 slice 方法从 myCar 中创建一个 newCar。 var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } }; @@ -77,7 +77,7 @@使用
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 @@ ---slice
{{JSRef}}-+
some()
方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
some()
方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。备注:如果用一个空数组进行测试,在任何情况下它返回的都是
@@ -44,7 +44,7 @@false
。参数
返回值
-数组中有至少一个元素通过回调函数的测试就会返回
+true
;所有元素都没有通过回调函数的测试返回值才会为false。数组中有至少一个元素通过回调函数的测试就会返回
true
;所有元素都没有通过回调函数的测试返回值才会为 false。描述
@@ -52,7 +52,7 @@描述
-
callback
被调用时传入三个参数:元素的值,元素的索引,被遍历的数组。如果一个
+thisArg
参数提供给some(),它将被用作调用的callback
的this
值。否则, 它的this
value将是undefined
。this
的值最终通过callback来观察,根据 the usual rules for determining thethis
seen by a function的this判定规则来确定。如果一个
thisArg
参数提供给 some(),它将被用作调用的callback
的this
值。否则, 它的this
value 将是undefined
。this
的值最终通过 callback 来观察,根据 the usual rules for determining thethis
seen by a function的 this 判定规则来确定。@@ -73,14 +73,14 @@
some()
被调用时不会改变数组。测试数组元素的值
使用箭头函数测试数组元素的值 -箭头函数 可以通过更简洁的语法实现相同的用例.
+箭头函数 可以通过更简洁的语法实现相同的用例。
[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" 要靠前。如果指明了
@@ -64,7 +64,7 @@compareFunction
,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:描述
所以,比较函数格式如下:
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 @@ ---
- {{jsxref("Array.prototype.reverse()")}}
- {{jsxref("String.prototype.localeCompare()")}}
-- [译] V8引擎中的排序
+- [译] V8 引擎中的排序
{{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 @@参数
@@ -136,7 +136,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()")}}.
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 @@错误
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 @@
- 假如
-typedArray
不是允许的整型之一,则抛出 {{jsxref("TypeError")}}。- +
假如 typedArray
不是一个shared typed array类型,则抛出 {{jsxref("TypeError")}}。假如 typedArray
不是一个 shared typed array 类型,则抛出 {{jsxref("TypeError")}}。- 如果
index
超出了typedArray 的边界,则抛出
{{jsxref("RangeError")}}。错误
描述
-假如 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 方法无法处理 Float64ArraySpecifications
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]); // 123diff --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
中要进行按位或运算的索引。- @@ -39,14 +39,14 @@
value
返回值
异常
-
- 若
+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 @@
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 @@参数
返回值
-+
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
现在生成如下字符串,而不是抛出异常:@@ -246,7 +246,7 @@JSON.stringify(BigInt(1)); // '"1"'
标准
BigInt -第4阶段 +第 4 阶段 描述
{{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。
如果
@@ -56,7 +56,7 @@bigIntObj
为负,则保留符号。即使基数是 2,情况也是如此;返回的字符串是bigIntObj
的正二进制表示,前面是一个-
符号,而不是bigIntObj
的两个补码。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 aBigUint64Array
.- 返回一个元素容量的数字值。
8
in the case of aBigUint64Array
.- 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 中实现。
浏览器兼容性