SharedArrayBuffer.prototype.slice()
slice()
方法是 SharedArrayBuffer
实例的方法,它返回一个新的 SharedArrayBuffer
,其内容是从 start
(包含)到 end
(不包含)的 SharedArrayBuffer
字节的副本。如果 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
暗示的位置之前或与之相同,则返回一个空缓冲区。
- 负索引从缓冲区的末尾开始倒数 - 如果
返回值
包含提取元素的新 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 的浏览器中加载。