Skip to content

API UInt8Array

Liu.Yandong.Hanks edited this page Aug 26, 2026 · 5 revisions

UInt8Array

固定长度的无符号 8 位整数紧凑数组。

脚本 API 参考

new UInt8Array(length) 创建初始为零的连续 byte 存储。适用于原始字节、协议缓冲区、调色板与查找表。长度只读,push/pop 不可用;通过索引或 fill 更新元素。

概述

UInt8Array 是用于紧凑无符号字节数据(如缓冲区、调色板与面向字节的查找表)的原生支持数组。元素位于连续原生存储中,因此避免了一般 Array 的逐元素对象分配。typeof 返回 "UInt8Array";宿主 ScriptDatum.Kind 仍为 Object

长度在构造时固定。pushpop 与元素删除不可用;通过数值索引读写元素。

var bytes = new UInt8Array(2);
bytes[0] = 255;
return bytes[0]; // 255

Warning

0length - 1 之外索引会引发运行时错误。读写前请验证计算出的索引。

值必须有符号时使用 Int8Array;元素类型必须变化或集合需要增长时使用 Array

构造函数

new UInt8Array([length])

参数

Name Type Required 说明
length number No 非负元素数量。省略则创建空数组。

Returns

UInt8Array — 固定长度数组,元素初始为 0

示例

var buffer = new UInt8Array(4);
return buffer[3]; // 0

属性

values.length

Returns

number — 固定元素数量。

行为

只读。对给定实例该值永不改变。

示例

return new UInt8Array(8).length; // 8

方法

values.fill([value])

参数

Name Type Required 说明
value number No 写入每个元素的值。默认为 0

Returns

UInt8Array — 本数组,可链式调用。

行为

值在存储前转换为无符号 8 位整数,每个元素会被原地覆盖。

示例

var buffer = new UInt8Array(3);
buffer.fill(7);
return buffer[2]; // 7

Clone this wiki locally