SharedArrayBuffer.prototype.slice()

SharedArrayBuffer.prototype.slice() 方法返回一个新的SharedArrayBuffer 副本,其内容是该 SharedArrayBuffer的字节从begin开始 (包含begin),直到end结束 (不包含end)。如果beginend是负的,它指的是从数组末尾开始的索引。此方法与 Array.prototype.slice() 具有相同的算法。

尝试一下

语法

sab.slice()
sab.slice(begin)
sab.slice(begin, end)

参数

begin 可选

从零开始的索引,从该索引开始提取。可以使用一个负索引,表示从序列末尾开始的偏移量。 slice(-2)提取序列中的最后两个元素。If begin is undefined, slice begins from index 0.如果begin为 undefined,slice则从索引为0处开始。

end 可选

从零开始的索引,在此索引之前终止提取。 slice 执行提取到索引为 end 的位置 (不包含end)。例如,slice(1,4) 提取第二个元素到第四个元素(索引为 1、2 和 3 的元素)。可以使用一个负索引,表示从序列末尾开始的偏移量。 slice(2,-1) 提取序列中从第三个元素开始,到倒数第二个元素结束的全部元素。如果省略 end,则 slice 一直提取到序列的末尾(sab.byteLength)。

返回值

一个包含被提取出的元素的新 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
ECMAScript Language Specification
# sec-sharedarraybuffer.prototype.slice

浏览器兼容性

BCD tables only load in the browser

相关链接