SharedArrayBuffer.prototype.slice()
方法返回一个新的SharedArrayBuffer
副本,其内容是该SharedArrayBuffer
的字节从begin
开始(包含begin
),直到end
结束(不包含end
)。如果begin
或end
是负的,它指的是从数组末尾开始的索引。此方法与 Array.prototype.slice()
具有相同的算法。
语法
sab.slice() sab.slice(begin) sab.slice(begin, end)
参数
begin
可选- 从零开始的索引,从该索引开始提取。
- 可以使用一个负索引,表示从序列末尾开始的偏移量。
slice(-2)
提取序列中的最后两个元素。 - If
begin
is undefined,slice
begins from index0
.如果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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.