--- title: SharedArrayBuffer.prototype.slice() slug: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice tags: - SharedArrayBuffer - slice translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice ---
SharedArrayBuffer.prototype.slice()
方法返回一个新的{{jsxref("SharedArrayBuffer")}} 副本,其内容是该SharedArrayBuffer
的字节从begin
开始(包含begin
),直到end
结束(不包含end
)。如果begin
或end
是负的,它指的是从数组末尾开始的索引。此方法与 {{jsxref("Array.prototype.slice()")}} 具有相同的算法。
{{EmbedInteractiveExample("pages/js/sharedarraybuffer-slice.html")}}
sab.slice() sab.slice(begin) sab.slice(begin, end)
begin
{{optional_inline}}slice(-2)
提取序列中的最后两个元素。begin
is undefined, slice
begins from index 0
.如果begin
为undefined,slice
则从索引为0
处开始。end
{{optional_inline}}slice
执行提取到索引为end
的位置(不包含end
)。slice(1,4)
提取第二个元素到第四个元素(索引为1、2和3的元素)。slice(2,-1)
提取序列中从第三个元素开始,到倒数第二个元素结束的全部元素。end
,则slice
一直提取到序列的末尾(sab.byteLength)。
一个包含被提取出的元素的新 {{jsxref("SharedArrayBuffer")}} 。
var sab = new SharedArrayBuffer(1024); sab.slice(); // SharedArrayBuffer { byteLength: 1024 } sab.slice(2); // SharedArrayBuffer { byteLength: 1022 } sab.slice(-2); // SharedArrayBuffer { byteLength: 2 } sab.slice(0, 1); // SharedArrayBuffer { byteLength: 1 }
Specification | Status | Comment |
---|---|---|
{{SpecName('ESDraft', '#sec-sharedarraybuffer.prototype.slice', 'SharedArrayBuffer.prototype.slice')}} | {{Spec2('ESDraft')}} | Initial definition in ES2017. |
{{Compat("javascript.builtins.SharedArrayBuffer.slice")}}