ArrayBuffer.prototype.slice()
slice()
是 ArrayBuffer
实例的方法,它返回一个新的 ArrayBuffer
,其内容是此 ArrayBuffer
从 start
(包含)到 end
(不包含)的字节的副本。如果 start
或 end
为负数,它表示从数组末尾到开始的索引,而不是从数组开头到末尾的索引。
试试
语法
js
slice()
slice(start)
slice(start, end)
参数
start
可选-
要开始提取的零基索引,转换为整数。
- 负索引从缓冲区的末尾开始计数 - 如果
-buffer.length <= start < 0
,则使用start + buffer.length
。 - 如果
start < -buffer.length
或省略start
,则使用0
。 - 如果
start >= buffer.length
,则返回一个空缓冲区。
- 负索引从缓冲区的末尾开始计数 - 如果
end
可选-
要结束提取的零基索引,转换为整数。
slice()
最多提取到end
,但不包含end
。- 负索引从缓冲区的末尾开始计数 - 如果
-buffer.length <= end < 0
,则使用end + buffer.length
。 - 如果
end < -buffer.length
,则使用0
。 - 如果
end >= buffer.length
或省略end
,则使用buffer.length
,导致提取到末尾的所有元素。 - 如果
end
隐含的位置在start
隐含的位置之前或在start
隐含的位置,则返回一个空缓冲区。
- 负索引从缓冲区的末尾开始计数 - 如果
返回值
一个新的 ArrayBuffer
,包含已提取的元素。
示例
复制 ArrayBuffer
js
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);
规范
规范 |
---|
ECMAScript 语言规范 # sec-arraybuffer.prototype.slice |
浏览器兼容性
BCD 表格仅在浏览器中加载