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 Status Comment
ECMAScript (ECMA-262)
SharedArrayBuffer.prototype.slice
Living Standard Initial definition in ES2017.

浏览器兼容性

BCD tables only load in the browser

相关链接