HTML5引入的新数组TypedArray介绍_html5教程技巧
程序员文章站
2022-04-26 10:02:12
...
Javascript中的数组是个强大的家伙:
你可以创建的时候不规定长度,而是动态的去改变长度。你可以把他当成普通的数组去读取,也可以当他是堆栈来使用。你可以改变数组中每个元素的值甚至是类型。
var array = new Array(10);
Javascript的数组的强大以及全能,给我们带来了便捷性。但一般而言:
// 创建一个8-byte的ArrayBuffer
var b = new ArrayBuffer(8);
// 创建一个b的引用,类型是Int32,起始位置在0,结束位置为缓冲区尾部
var v1 = new Int32Array(b);
// 创建一个b的引用,类型是Uint8,起始位置在2,结束位置为缓冲区尾部
var v2 = new Uint8Array(b, 2);
// 创建一个b的引用,类型是Int16,起始位置在2,总长度为2
var v3 = new Int16Array(b, 2, 2);
则缓冲和创建的引用布局为:
这表示Int32类型的v1数组的第0个元素是ArrayBuffer类型的b的第0-3个字节,如此等等。 构造函数
好吧,其实他是一个对象,比如我们可以这样去创建数组:
复制代码
代码如下:var array = new Array(10);
Javascript的数组的强大以及全能,给我们带来了便捷性。但一般而言:
全能的东西能在各种环境下使用,但却不一定适用于各种环境。
而TypedArray正是为了解决Javascript中数组“干太多事”而出现的。
起源TypedArray是一种通用的固定长度缓冲区类型,允许读取缓冲区中的二进制数据。
其在WEBGL规范中被引入用于解决Javascript处理二进制数据的问题。
TypedArray已经被大部分现代浏览器支持,例如可以用下面方法创建TypedArray:
复制代码
代码如下:// 创建一个8-byte的ArrayBuffer
var b = new ArrayBuffer(8);
// 创建一个b的引用,类型是Int32,起始位置在0,结束位置为缓冲区尾部
var v1 = new Int32Array(b);
// 创建一个b的引用,类型是Uint8,起始位置在2,结束位置为缓冲区尾部
var v2 = new Uint8Array(b, 2);
// 创建一个b的引用,类型是Int16,起始位置在2,总长度为2
var v3 = new Int16Array(b, 2, 2);
则缓冲和创建的引用布局为:
变量 | 索引 | |||||||
---|---|---|---|---|---|---|---|---|
字节数 | ||||||||
b = | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
索引数 | ||||||||
v1 = | 0 | 1 | ||||||
v2 = | 0 | 1 | 2 | 3 | 4 | 5 | ||
v3 = | 0 | 1 |
这表示Int32类型的v1数组的第0个元素是ArrayBuffer类型的b的第0-3个字节,如此等等。 构造函数
上面我们通过ArrayBuffer来创建TypedArray,而实际上,TypedArray提供了3个构造函数来创建他的实例。
推荐阅读
-
关于HTML5你必须知道的28个新特性,新技巧以及新技术_html5教程技巧
-
HTML5的标签的代码的简单介绍 HTML5标签的简介_html5教程技巧
-
HTML5 CSS3新的WEB标准和浏览器支持_html5教程技巧
-
HTML5的语法变化介绍_html5教程技巧
-
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)_html5教程技巧
-
HTML5的标签的代码的简单介绍 HTML5标签的简介_html5教程技巧
-
基于HTML5 FileSystem API的使用介绍_html5教程技巧
-
简单介绍HTML5中的文件导入_html5教程技巧
-
HTML5引入的新数组TypedArray介绍_html5教程技巧
-
HTML5中的新元素介绍_html5教程技巧