1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 10:22:23 +00:00

docs(ArrayBuffer): edit ArrayBuffer

This commit is contained in:
ruanyf 2017-06-30 07:57:05 +08:00
parent 9efb9db803
commit 1728a4f339

View File

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