File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change 1
- # 二进制数组
1
+ # ArrayBuffer
2
2
3
- 二进制数组( ` ArrayBuffer ` 对象、` TypedArray ` 视图和` DataView ` 视图)是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。
3
+ ` ArrayBuffer ` 对象、` TypedArray ` 视图和` DataView ` 视图是 JavaScript 操作二进制数据的一个接口。这些对象早就存在,属于独立的规格(2011年2月发布),ES6 将它们纳入了 ECMAScript 规格,并且增加了新的方法。它们都是以数组的语法处理二进制数据,所以统称为二进制数组 。
4
4
5
5
这个接口的原始设计目的,与 WebGL 项目有关。所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足 JavaScript 与显卡之间大量的、实时的数据交换,它们之间的数据通信必须是二进制的,而不能是传统的文本格式。文本格式传递一个32位整数,两端的 JavaScript 脚本与显卡都要进行格式转化,将非常耗时。这时要是存在一种机制,可以像 C 语言那样,直接操作字节,将4个字节的32位整数,以二进制形式原封不动地送入显卡,脚本的性能就会大幅提升。
6
6
12
12
13
13
** (2)TypedArray视图** :共包括9种类型的视图,比如` Uint8Array ` (无符号8位整数)数组视图, ` Int16Array ` (16位整数)数组视图, ` Float32Array ` (32位浮点数)数组视图等等。
14
14
15
- ** (3)` DataView ` 视图** :可以自定义复合格式的视图,比如第一个字节是Uint8 (无符号8位整数)、第二、三个字节是Int16 (16位整数)、第四个字节开始是Float32 (32位浮点数)等等,此外还可以自定义字节序。
15
+ ** (3)` DataView ` 视图** :可以自定义复合格式的视图,比如第一个字节是 Uint8 (无符号8位整数)、第二、三个字节是 Int16 (16位整数)、第四个字节开始是 Float32 (32位浮点数)等等,此外还可以自定义字节序。
16
16
17
17
简单说,` ArrayBuffer ` 对象代表原始的二进制数据,TypedArray视图用来读写简单类型的二进制数据,` DataView ` 视图用来读写复杂类型的二进制数据。
18
18
19
- TypedArray视图支持的数据类型一共有9种 (` DataView ` 视图支持除` Uint8C ` 以外的其他8种)。
19
+ TypedArray 视图支持的数据类型一共有9种 (` DataView ` 视图支持除` Uint8C ` 以外的其他8种)。
20
20
21
21
数据类型 | 字节长度 | 含义 | 对应的C语言类型
22
22
--------|--------|----|---------------
@@ -40,11 +40,11 @@ Float64|8|64位浮点数|double
40
40
- Canvas
41
41
- WebSockets
42
42
43
- ## ArrayBuffer对象
43
+ ## ArrayBuffer 对象
44
44
45
45
### 概述
46
46
47
- ` ArrayBuffer ` 对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(TypedArray视图和 ` DataView ` 视图)来读写,视图的作用是以指定格式解读二进制数据。
47
+ ` ArrayBuffer ` 对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(` TypedArray ` 视图和 ` DataView ` 视图)来读写,视图的作用是以指定格式解读二进制数据。
48
48
49
49
` ArrayBuffer ` 也是一个构造函数,可以分配一段可以存放数据的连续内存区域。
50
50
You can’t perform that action at this time.
0 commit comments