JavaScript中的ArrayBuffer该如何理解呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中的ArrayBuffer该如何理解呢?相关的知识,希望对你有一定的参考价值。

概述

ArrayBuffer (缓冲数组)是一种用于呈现通用、固定长度的二进制数据的类型。不能直接构造并填充 ArrayBuffer 的内容,而应该先创建一个 ArrayBufferView 对象,该对象用具体的格式来呈现 ArrayBuffer 的内容,你可以使用此对象来读写 ArrayBuffer 的内容。

方法概要

ArrayBuffer ArrayBuffer(unsigned long length);

方法

ArrayBuffer()

构造方法接收一个数字参数,作为新数组的长度,返回新创建的 ArrayBuffer 对象。

ArrayBuffer ArrayBuffer(
  unsigned long length
);

参数

  length

要创建的数组的大小。

返回值

新创建的 ArrayBuffer 对象,该对象具有 length 的大小,所有位置均被初始化为 0。

slice()

返回一个新的 ArrayBuffer 对象,它的内容是从当前 ArrayBuffer 的 begin 到 end 位置的备份。
负数的 begin 或 end 值指示从数组末端计数的索引。

ArrayBuffer slice(
  unsigned long begin
  unsigned long end Optional
);


参数

    begin

复制 Byte 开始的索引。

    end

复制 Byte 结束的索引。如果未指定,返回的 ArrayBuffer 包含从 begin 到此 ArrayBuffer 结尾的所有字节。

返回值

新的 ArrayBuffer 对象。


示例

在下面的示例中,我们创建了一个 32 字节的缓冲数组

var buf = new ArrayBuffer(32);

参考技术A ArrayBuffer是一(大)块内存,但不能直接访问ArrayBuffer里面的字节。
要访问ArrayBuffer,需要用到 Typed Array。
其实ArrayBuffer 跟 Typed Array 是一个东西,前者是一(大)块内存,后者用来访问这块内存。
在Node.js 里有一个与ArrayBuffer 相似的类叫做Buffer,但更强大一些。
参考技术B 1、ArrayBuffer是一(大)块内存,但不能直接访问ArrayBuffer里面的字节。
2、要访问ArrayBuffer,需要用到 Typed Array。
3、其实ArrayBuffer 跟 Typed Array 是一个东西,前者是一(大)块内存,后者用来访问这块内存。
4、在Node.js 里有一个与ArrayBuffer 相似的类叫做Buffer,但更强大一些。
参考技术C 1、ArrayBuffer是一(大)块内存,但不能直接访问ArrayBuffer里面的字节。
2、要访问ArrayBuffer,需要用到 Typed Array。
3、其实ArrayBuffer 跟 Typed Array 是一个东西,前者是一(大)块内存,后者用来访问这块内存。
4、在Node.js 里有一个与ArrayBuffer 相似的类叫做Buffer,但更强大一些。本回答被提问者采纳
参考技术D 我觉得这篇blog可以很好的解释ArrayBuffer:
http://www.cnblogs.com/gradolabs/p/4762134.html

以上是关于JavaScript中的ArrayBuffer该如何理解呢?的主要内容,如果未能解决你的问题,请参考以下文章

将二进制 NodeJS 缓冲区转换为 JavaScript ArrayBuffer

在JavaScript中如何将ArrayBuffer转换为Float64Array?

JavaScript之ArrayBuffer

在 JavaScript 中哪里使用 ArrayBuffer 和类型化数组?

有没有办法在Android上将arraybuffer从javascript传递到java?

通过 JavaScript XHR2 对象在 PHP 中发送 ArrayBuffer