JavaScript - DataView 对象



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

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

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

语法

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


 new DataView(buffer, byteOffset, byteLength)

属性

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

  • buffer − 返回共享数组缓冲区的 ArrayBuffer。
  • byteLength − 返回此视图的长度(以字节为单位)。
  • byteOffset − 返回此视图从其 ArrayBuffer 或共享数组缓冲区开头的偏移量(以字节为单位)。

示例 : 创建 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 方法

以下是 JavaScript DataView 对象的方法 -

方法 描述
getBigInt64()

返回 -263 到 263-1 范围内的 BigInt(包括在内)。

getBigUint64()

返回一个范围从 0 到 264-1 的 BigInt(包括在内)。

getFloat32()

返回一个从 -3.4e38 到 3.4e38 的浮点数。

getFloat64()

返回任何数字值。

getInt16()

返回一个从 -32768 到 32767 的整数(包括在内)。

getInt32()

返回一个介于 -2147483648 到 2147483647 之间的整数(包括 -3 到 之间)。

getInt8()

返回一个介于 -128 到 127 之间的整数(包括 -128 到 127)。

getUint16()

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

getUint32()

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

getUint8()

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

setBigInt64()

返回 undefined。

setBigUint64()

返回 undefined。

setFloat32()

返回 undefined。

setFloat64()

返回 undefined。

setInt16()

返回 undefined。

setInt32()

返回 undefined。

setInt8()

返回 undefined。

setUint16()

返回 undefined。

setUint32()

返回 undefined。

setUint8()

返回 undefined。