JavaScript - DataView



DataView 是 JavaScript 中的一个对象,允许您处理存储在 ArrayBuffer 中的二进制数据。它提供了一个低级接口,用于在二进制 ArrayBuffer 中读取和写入数字类型。

DataView 对象提供内置方法,用于从缓冲区读取和写入 1、2 和 4 字节的有符号和无符号整数,以及 4 和 8 字节的浮点数。

ArrayBuffer 是一个字节数组,在其他语言中通常称为“字节数组”。您不能像操作普通数组一样直接操作 ArrayBuffer 的数据。使用 ArrayBuffer,您可以创建 DataView 对象,该对象以特定格式表示缓冲区。您可以使用 DataView 对象读取和写入缓冲区的内容。

语法

以下是 JavaScript 中创建 DataView 对象的语法:

new DataView(buffer, byteOffset, byteLength)

这里,buffer 是一个现有的用于存储的 ArrayBuffer。byteOffset 参数(可选)表示缓冲区中第一个字节的偏移量(以字节为单位),byteLength 参数(也可选)表示字节数组中的元素数量。

示例:创建 DataView 对象

以下示例演示了如何在 JavaScript 中创建 DataView 对象。

<html>
<body>
<script>
   const buffer = new ArrayBuffer(16);
   //creating dataview object
   const data_view = new DataView(buffer);
   document.write("The type of data_view is: " + typeof(data_view));
</script>
</body>
</html>

输出

上述程序显示 data_view 的类型为:

The type of data_view is: object

JavaScript DataView 属性

以下是 DataView 对象属性的列表:

  • buffer - 返回 ArrayBuffer 或 SharedArrayBuffer。
  • byteLength - 返回此视图的长度(以字节为单位)。
  • byteOffset - 返回此视图与其 ArrayBuffer 或 SharedArrayBuffer 起始位置的偏移量(以字节为单位)。

JavaScript DataView 方法

以下是 JavaScript DataView 对象的方法:

序号 方法及描述
1

getBigInt64()

它返回一个 BigInt,范围为 -263 到 263-1(包含)。

2

getBigUint64()

它返回一个 BigInt,范围为 0 到 264-1(包含)。

3

getFloat32()

它返回一个浮点数,范围为 -3.4e38 到 3.4e38。

4

getFloat64()

它返回任何数值。

5

getInt16()

它返回一个整数,范围为 -32768 到 32767(包含)。

6

getInt32()

它返回一个整数,范围为 -2147483648 到 2147483647(包含)。

7

getInt8()

它返回一个整数,范围为 -128 到 127(包含)。

8

getUint16()

它返回一个介于 0 到 65535(包含)之间的整数。

9

getUint32()

它返回一个介于 0 到 4294967295(包含)之间的整数。

10

getUint8()

它返回一个介于 0 到 255(包含)之间的整数。

11

setBigInt64()

它返回 undefined。

12

setBigUint64()

它返回 undefined。

13

setFloat32()

它返回 undefined。

14

setFloat64()

它返回 undefined。

15

setInt16()

它返回 undefined。

16

setInt32()

它返回 undefined。

17

setInt8()

它返回 undefined。

18

setUint16()

它返回 undefined。

19

setUint32()

它返回 undefined。

20

setUint8()

它返回 undefined。

广告