SharedArrayBuffer.prototype.slice()

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本上运行。它自以下时间起在所有浏览器中都可用 2021 年 12 月.

slice() 方法是 SharedArrayBuffer 实例的方法,它返回一个新的 SharedArrayBuffer,其内容是从 start(包含)到 end(不包含)的 SharedArrayBuffer 字节的副本。如果 startend 为负数,则它指的是从数组末尾开始的索引,而不是从开头开始。

试一试

语法

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 暗示的位置之前或与之相同,则返回一个空缓冲区。

返回值

包含提取元素的新 SharedArrayBuffer

示例

使用 slice()

js
const 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 }

规范

规范
ECMAScript 语言规范
# sec-sharedarraybuffer.prototype.slice

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅