Javascript ArrayBuffer修改性能

Dan*_*iel 5 javascript typed-arrays arraybuffer

我想在 JavaScript 中修改 ArrayBuffer 的内容。

从帮助部分:

您不能直接操作 ArrayBuffer 的内容;相反,您创建一个类型化数组对象或一个以特定格式表示缓冲区的 DataView 对象,并使用它来读取和写入缓冲区的内容。

我不需要向控制台打印任何内容,我只需要一个修改了一些字节的 ArrayBuffer 。

所以,如果我有一个大的 ArrayBuffer:

const buffer = new ArrayBuffer(16*1024);
Run Code Online (Sandbox Code Playgroud)

哪一种更有效:

const typedArray1 = new Uint8Array(buffer);
typedArray1[16000] = 65;

const typedArray2 = new Uint8Array(buffer,16000);
typedArray2[0] = 65;

const typedArray3 = new Uint8Array(buffer,16000,1);
typedArray2[0] = 65;

const dataView1 = new DataView(buffer);
dataView1.setUint8(16000, 65);

const dataView2 = new DataView(buffer, 16000);
dataView2.setUint8(0, 65);

const dataView3 = new DataView(buffer, 16000, 1);
dataView3.setUint8(0, 65);
Run Code Online (Sandbox Code Playgroud)