Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoCorrect files/zh-cn/web/javascript/reference/global_objects/type* #5967

Merged
merged 1 commit into from
May 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ <h2 id="浏览器兼容性">浏览器兼容性</h2>

{{Compat}}

<p>[1] 从 Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) 到 Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) 使用 <code>iterator</code> 属性 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=907077">bug 907077</a>),从 Gecko 27 到 Gecko 35 使用<code>"@@iterator"</code> 占位符。 在 Gecko 36 (Firefox 36 / Thunderbird 36 / SeaMonkey 2.33)中,<code>@@iterator</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol">Symbol</a> 予以实现(<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=918828">bug 918828</a>)。</p>
<p>[1] 从 Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) 到 Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) 使用 <code>iterator</code> 属性 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=907077">bug 907077</a>),从 Gecko 27 到 Gecko 35 使用<code>"@@iterator"</code> 占位符。 在 Gecko 36 (Firefox 36 / Thunderbird 36 / SeaMonkey 2.33) 中,<code>@@iterator</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol">Symbol</a> 予以实现 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=918828">bug 918828</a>)。</p>

<h2 id="See_also">See also</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ <h2 id="示例">示例</h2>
Float32Array[Symbol.species]; // function Float32Array()
</pre>

<p>在派生的集合对象中 (也就是你自己定义的类型化数组<code>MyTypedArray</code>), <code>MyTypedArray</code> 的 species 是 <code>MyTypedArray</code> 构造器。但是,你可能希望覆盖它,以便在你的派生类方法中返回<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组</a>的基类对象:</p>
<p>在派生的集合对象中(也就是你自己定义的类型化数组<code>MyTypedArray</code>), <code>MyTypedArray</code> 的 species 是 <code>MyTypedArray</code> 构造器。但是,你可能希望覆盖它,以便在你的派生类方法中返回<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组</a>的基类对象:</p>

<pre class="brush: js">class MyTypedArray extends Uint8Array {
// 将 MyTypedArray species 覆盖为 Uint8Array 基类构造器
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ <h2 id="规范">规范</h2>
<tr>
<td><a href="https://www.khronos.org/registry/typedarray/specs/latest/#7">Typed Array Specification</a></td>
<td>已过期</td>
<td>被ECMAScript 6取代</td>
<td>被 ECMAScript 6 取代</td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-typedarray.bytes_per_element', 'TypedArray.BYTES_PER_ELEMENT')}}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
---
<div>{{JSRef}}</div>

<p><code><strong>copyWithin()</strong></code><strong> </strong>方法将数组中元素的序列复制到以 <code>target</code> 起始的位置。拷贝的副本取自第二个参数(<code>start</code>)和第三个参数 (<code>end</code>)的下标位置。<code>end</code> 参数是可选的,默认为数组长度。该方法与 {{jsxref("Array.prototype.copyWithin")}} 的算法相同<em>。</em> <em>TypedArray</em> 指的是这里的 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a> 之一。</p>
<p><code><strong>copyWithin()</strong></code><strong> </strong>方法将数组中元素的序列复制到以 <code>target</code> 起始的位置。拷贝的副本取自第二个参数(<code>start</code>)和第三个参数(<code>end</code>)的下标位置。<code>end</code> 参数是可选的,默认为数组长度。该方法与 {{jsxref("Array.prototype.copyWithin")}} 的算法相同<em>。</em> <em>TypedArray</em> 指的是这里的 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a> 之一。</p>

<h2 id="语法">语法</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ <h3 id="返回值">返回值</h3>

<h2 id="示例">示例</h2>

<h3 id="使用for...of_循环的迭代"><code>使用for...of</code> 循环的迭代</h3>
<h3 id="使用for...of_循环的迭代"><code>使用 for...of</code> 循环的迭代</h3>

<pre class="brush: js">var arr = new Uint8Array([10, 20, 30, 40, 50]);
var eArray = arr.entries();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h3 id="在类型化数组中寻找质数的下标">在类型化数组中寻找
var uint8 = new Uint8Array([4, 6, 8, 12]);
var uint16 = new Uint16Array([4, 6, 7, 12]);

console.log(uint8.findIndex(isPrime)); // -1, 未发现
console.log(uint8.findIndex(isPrime)); // -1未发现
console.log(uint16.findIndex(isPrime)); // 2
</pre>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ <h3 id="返回值">返回值</h3>

<h2 id="描述"> 描述</h2>

<p><code><em>TypedArray</em>.from()</code> 允许你从下面两者来创建数组:</p>
<p><code><em>TypedArray</em>.from()</code> 允许你从下面两者来创建数组</p>

<ul>
<li>类数组对象(拥有一个 <code>length</code> 属性和若干索引属性的任意对象)</li>
Expand All @@ -68,13 +68,13 @@ <h2 id="描述"> 描述</h2>

<p> <code>from()</code> 的 <code>length</code> 属性值为 <code>1</code>。</p>

<p>{{jsxref("Array.from()")}} 和 <code><em>TypedArray</em>.from()</code> 之间有一些微妙的区别:</p>
<p>{{jsxref("Array.from()")}} 和 <code><em>TypedArray</em>.from()</code> 之间有一些微妙的区别</p>

<ul>
<li>如果 <code>|this|</code> 的值传递给 <code><em>TypedArray</em>.from</code> 不是一个构造器, <code><em>TypedArray</em>.from</code> 将抛出{jsxref("TypeError")}}, 而 <code>Array.from</code> 默认将创建一个 {{jsxref("Array")}}.</li>
<li><code><em>TypedArray</em>.from</code> 使用<code>[Put]</code> 而 <code>rray.from</code> 使用<code>[DefineProperty]]</code>. 因此, 当和 {{jsxref("Proxy")}} 对象一起时, 它调用 {{jsxref("Global_Objects/Proxy/handler/set", "handler.set")}} 创建一个新的元素而非 {{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty")}}.</li>
<li>当 <code>from</code> 获得一个迭代器时, <code><em>TypedArray</em></code> 一开始收集迭代器中的所有值, 此时创建一个 <code>|this|</code> 的实例用于计数, 然后在实例中设置值。 <code>Array.from</code> 设置每个从迭代器其中获取的值,最后设置它的长度。</li>
<li>当 <code>Array.from</code> 获得一个不可迭代的类数组时, it respects holes, 而 <code><em>TypedArray</em>.from</code> 将确保结果是 dense.</li>
<li>如果 <code>|this|</code> 的值传递给 <code><em>TypedArray</em>.from</code> 不是一个构造器<code><em>TypedArray</em>.from</code> 将抛出{jsxref("TypeError")}}, 而 <code>Array.from</code> 默认将创建一个 {{jsxref("Array")}}.</li>
<li><code><em>TypedArray</em>.from</code> 使用<code>[Put]</code> 而 <code>rray.from</code> 使用<code>[DefineProperty]]</code>. 因此 当和 {{jsxref("Proxy")}} 对象一起时 它调用 {{jsxref("Global_Objects/Proxy/handler/set", "handler.set")}} 创建一个新的元素而非 {{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty")}}.</li>
<li>当 <code>from</code> 获得一个迭代器时<code><em>TypedArray</em></code> 一开始收集迭代器中的所有值, 此时创建一个 <code>|this|</code> 的实例用于计数 然后在实例中设置值。 <code>Array.from</code> 设置每个从迭代器其中获取的值,最后设置它的长度。</li>
<li>当 <code>Array.from</code> 获得一个不可迭代的类数组时it respects holes, 而 <code><em>TypedArray</em>.from</code> 将确保结果是 dense.</li>
</ul>

<h2 id="示例">示例</h2>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ <h2 id="示例">示例</h2>
uint8.includes(4); // false
uint8.includes(3, 3); // false

// NaN 的处理 (仅仅对 Float32 和 Float64 为 true)
new Uint8Array([NaN]).includes(NaN); // false, 因为 NaN 传递给构造器时转换为 0
// NaN 的处理(仅仅对 Float32 和 Float64 为 true)
new Uint8Array([NaN]).includes(NaN); // false因为 NaN 传递给构造器时转换为 0
new Float32Array([NaN]).includes(NaN); // true;
new Float64Array([NaN]).includes(NaN); // true;
</pre>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ <h2 id="语法">语法</h2>

<pre class="brush: js">// 下面代码是语法格式,不能直接运行,
// TypedArray 关键字需要替换为底部列出的构造函数。
new TypedArray(); // ES2017中新增
new TypedArray(); // ES2017 中新增
new <em>TypedArray</em>(length);
new <em>TypedArray</em>(typedArray);
new <em>TypedArray</em>(object);
Expand Down Expand Up @@ -58,7 +58,7 @@ <h2 id="描述">描述</h2>

<p>ECMAScript 2015 定义了一个 <em><code>TypeArray</code></em> 构造器作为所有的类型化数组构造器(<code>Int8Array</code>, <code>Int16Array</code> 等)的原型(<code>[[Prototype]]</code>)。该构造器并不会直接暴露出来:即没有全局的 <code>%TypedArray%</code> 和 <code>TypeArray</code> 属性,只能通过使用类似于 <code>Object.getPrototypeOf(Int8Array.prototype</code>) 的方式直接访问。所有的类型化数组构造器都会继承 <code>%</code><code>TypeArray%</code> 构造器函数的公共属性和方法。此外,所有的类型化数组的原型(如 <code>Int8Array.prototype</code>)都以 <code>%TypeArray%.prototype</code> 作为原型。</p>

<p><code>%TypedArray%</code> 构造器自身不是特别有用,直接调用或使用 <code>new</code> 表达式实例化都会抛出一个{{jsxref("TypeError")}} 异常,除非在支持子类化(subclassing)创建对象的 JS 引擎下运行。但直到现在还没有这样的 JS 引擎出现。因此 <code>%TypeArray%</code> 仅仅在对所有的类型化数组构造器(<code>Int8Array</code> 等)的方法和属性进行 polyfill 的时候比较有用.</p>
<p><code>%TypedArray%</code> 构造器自身不是特别有用,直接调用或使用 <code>new</code> 表达式实例化都会抛出一个{{jsxref("TypeError")}} 异常,除非在支持子类化(subclassing)创建对象的 JS 引擎下运行。但直到现在还没有这样的 JS 引擎出现。因此 <code>%TypeArray%</code> 仅仅在对所有的类型化数组构造器(<code>Int8Array</code> 等)的方法和属性进行 polyfill 的时候比较有用</p>

<p>当创建一个 <code>TypedArray</code> 实例(如 <code>Int8Array</code>)时,一个数组缓冲区将被创建在内存中,如果一个 <code>ArrayBuffer</code> 对象被当作参数传给构造函数,那么将使用传入的 <code>ArrayBuffer</code> 代替(即缓冲区被创建到 <code>ArrayBuffer</code> 中)。缓冲区的地址被存储在实例的内部属性中,并且所有 <code>%TypedArray%.prototype</code>上的方法,例如 <code>set value</code> 和 <code>get value</code> 等,都会在这个数组缓冲区上进行操作。</p>

Expand Down Expand Up @@ -94,7 +94,7 @@ <h2 id="TypedArray_对象">TypedArray 对象</h2>
<tr>
<th scope="col">类型</th>
<th scope="col">单个元素值的范围</th>
<th scope="col">大小(bytes)</th>
<th scope="col">大小 (bytes)</th>
<th scope="col">描述</th>
<th scope="col">Web IDL 类型</th>
<th scope="col">C 语言中的等价类型</th>
Expand Down Expand Up @@ -213,9 +213,9 @@ <h2 id="方法">方法</h2>

<dl>
<dt>{{jsxref("TypedArray.from()")}}</dt>
<dd>使用类数组(array-like)或迭代对象创建一个新的类型化数组.参见 {{jsxref("Array.from()")}}.</dd>
<dd>使用类数组 (array-like) 或迭代对象创建一个新的类型化数组参见 {{jsxref("Array.from()")}}.</dd>
<dt>{{jsxref("TypedArray.of()")}}</dt>
<dd>通过可变数量的参数创建新的类型化数组.参见 {{jsxref("Array.of()")}}.</dd>
<dd>通过可变数量的参数创建新的类型化数组参见 {{jsxref("Array.of()")}}.</dd>
</dl>

<h2 id="TypedArray_原型">TypedArray 原型</h2>
Expand Down Expand Up @@ -256,7 +256,7 @@ <h2 id="浏览器支持">浏览器支持</h2>

<h2 id="兼容性注意事项">兼容性注意事项</h2>

<p>从ECMAScript 2015 (ES6) 开始,<code>TypedArray</code> 构造函数使用的时候必须要使用 <code>new</code> 操作符,否则会抛出 {{jsxref("TypeError")}} 异常。</p>
<p>从 ECMAScript 2015 (ES6) 开始,<code>TypedArray</code> 构造函数使用的时候必须要使用 <code>new</code> 操作符,否则会抛出 {{jsxref("TypeError")}} 异常。</p>

<pre class="brush: js example-bad">var dv = Int8Array([1, 2, 3]);
// TypeError: calling a builtin Int8Array constructor </pre>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
---
<div>{{JSRef}}</div>

<p><code><strong>indexOf()</strong></code> 方法返回在类型数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。 方法具有与 {{jsxref("Array.prototype.indexOf()")}} 相同的算法。 TypedArray是这里的<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a>之一。</p>
<p><code><strong>indexOf()</strong></code> 方法返回在类型数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。 方法具有与 {{jsxref("Array.prototype.indexOf()")}} 相同的算法。 TypedArray 是这里的<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a>之一。</p>

<h2 id="语法">语法</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ <h3 id="参数">参数</h3>

<dl>
<dt><code>separator</code></dt>
<dd>可选。指定分隔每个元素的字符串。分隔符按需转换为字符串。如果没有,类型化数组的元素会以逗号(",")分隔。</dd>
<dd>可选。指定分隔每个元素的字符串。分隔符按需转换为字符串。如果没有,类型化数组的元素会以逗号 (",") 分隔。</dd>
</dl>

<h3 id="返回值">返回值</h3>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
---
<div>{{JSRef}}</div>

<p><code><strong>lastIndexOf()</strong></code> 方法返回在类型数组中可以找到给定元素的最后一个索引,如果不存在,则返回-1。 方法具有与 {{jsxref("Array.prototype.lastIndexOf()")}} 相同的算法。 TypedArray是这里的<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a>之一。</p>
<p><code><strong>lastIndexOf()</strong></code> 方法返回在类型数组中可以找到给定元素的最后一个索引,如果不存在,则返回-1。 方法具有与 {{jsxref("Array.prototype.lastIndexOf()")}} 相同的算法。 TypedArray 是这里的<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型化数组类型</a>之一。</p>

<h2 id="语法">语法</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ <h2 id="语法">语法</h2>

<h2 id="描述">描述</h2>

<p>TypedArray ?对象中,每个元素所含的字节数都与其它元素不同,因此其字节数需要被描述。<code>name</code> 属性描述了数组所包含的数据类型。其命名的第一部分可以是Int(整型)、Uint(无符整型)或Float(浮点);?其第二部分是一个描述数组所包含位数的数字;最后一部分为对象属性Array(ClampedArray为特例)。更多信息参见{{jsxref("Uint8ClampedArray")}}。</p>
<p>TypedArray ?对象中,每个元素所含的字节数都与其它元素不同,因此其字节数需要被描述。<code>name</code> 属性描述了数组所包含的数据类型。其命名的第一部分可以是 Int(整型)、Uint(无符整型) 或 Float(浮点);?其第二部分是一个描述数组所包含位数的数字;最后一部分为对象属性 Array(ClampedArray 为特例)。更多信息参见{{jsxref("Uint8ClampedArray")}}。</p>

<h2 id="例子">?例子</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ <h2 id="描述">描述</h2>
<p>{{jsxref("Array.of()")}} 和 <code><em>TypedArray</em>.of()</code>之间的一些细微区别:</p>

<ul>
<li>如果传递给TypedArray.of的这个值不是构造函数,TypedArray.of将抛出一个{{jsxref("TypeError")}} ,其中Array.of默认创建一个新的 {{jsxref("Array")}}。</li>
<li><code><em>TypedArray</em>.of</code> 使用 [[Put]] 其中Array.of使用 [[DefineProperty]]。因此,当使用{{jsxref("Proxy")}} 对象时,它调用 {{jsxref("Global_Objects/Proxy/handler/set", "handler.set")}} 创建新的元素,而不是 {{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty")}}。</li>
<li>如果传递给 TypedArray.of 的这个值不是构造函数,TypedArray.of 将抛出一个{{jsxref("TypeError")}} ,其中 Array.of 默认创建一个新的 {{jsxref("Array")}}。</li>
<li><code><em>TypedArray</em>.of</code> 使用 [[Put]] 其中 Array.of 使用 [[DefineProperty]]。因此,当使用{{jsxref("Proxy")}} 对象时,它调用 {{jsxref("Global_Objects/Proxy/handler/set", "handler.set")}} 创建新的元素,而不是 {{jsxref("Global_Objects/Proxy/handler/defineProperty", "handler.defineProperty")}}。</li>
</ul>

<h2 id="范例">范例</h2>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
---
<div>{{JSRef}}</div>

<p><code><strong>reduce()</strong></code> 方法接受一个函数作为参数,这个函数作为一个累加器,从左到右遍历整个类型数组,最后返回一个单一的值. 这个方法和{{jsxref("Array.prototype.reduce()")}}使用了同样的算法. <em>TypedArray</em> 是一个 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型数组</a>.</p>
<p><code><strong>reduce()</strong></code> 方法接受一个函数作为参数,这个函数作为一个累加器,从左到右遍历整个类型数组,最后返回一个单一的值这个方法和{{jsxref("Array.prototype.reduce()")}}使用了同样的算法<em>TypedArray</em> 是一个 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects">类型数组</a>.</p>

<h2 id="语法">语法</h2>

Expand All @@ -18,7 +18,7 @@ <h3 id="参数">参数</h3>
<dd>对类型数组的每一个值应用的函数,它接受以下参数:
<dl>
<dt><code>previousValue</code></dt>
<dd>在上一次迭代中,调用callback的返回值, 或者是提供的 <code>initialValue。</code>.</dd>
<dd>在上一次迭代中,调用 callback 的返回值, 或者是提供的 <code>initialValue。</code>.</dd>
<dt><code>currentValue</code></dt>
<dd>类型化数组中当前要处理的值。</dd>
<dt><code>index</code></dt>
Expand Down
Loading