20200428

@xiaojingzhao

Plan

  • 你不知道的 js - 第五张 集合

Notes

Typed Array

类型数组是 JavaScript 操作二进制数据的一个接口。为什么需要这个接口?因为 webGL(浏览器与显卡之间的通信接口) 项目。因为这个项目,需要 js 和显卡之间大量,实时的数据交换,他们之间的通信必须是二进制的。原因 如果是其他类型,比如 string,可能会存在一定的限制。

  • typed是指看待一组位序列的“视图”,本质上是一种映射?比如把这些位序列映射成为 8 位有符号整型数组还是 16 位有符号整型数组
var buf = new ArrayBuffer(32);
buf.byteLength; // 32 - 二进制buffer

在数组 buf 之上,可以放置一个“视图”,这个视图以类型数组的形式存在。

var arr = new Unit16Array(buf);
arr.length; // 16 = 32 * 8 / 16

arr 是在 buf 256 位上映射的一个 16 位无符号整型的类型数组 -- 也就是说你得到了 16 个元素。

通过"视图",可以取得 buffer 中的数据。

More