JavaScript ArrayBuffer
Muhammad Muzammil Hussain
2022年5月5日
在本文中,我們將瞭解 JavaScript 中的 ArrayBuffer
物件以建立和操作 ArrayBuffer
物件。
語法:
var buffer = new ArrayBuffer(size);
ArrayBuffer
中的 size 引數指定建立的緩衝區的大小(以位元組為單位)。
在 JavaScript 中建立一個 ArrayBuffer
var buffer = new ArrayBuffer(8);
var view = new DataView(buffer);
在上面的程式碼中,我們建立了一個 8 位元組的緩衝區。此外,我們使用 DataView
檢視來引用和操作緩衝區。
讓我們看一些例子來清楚地瞭解 ArrayBuffer
物件。
示例 1:
<!DOCTYPE html>
<html >
<head>
<title>JavaScript ArrayBuffer</title>
</head>
<body>
<h1 style="color: blueviolet;"> DelftStack </h1>
<h3><u>JavaScript ArrayBuffer object</u></h3>
<script>
var buffer = new ArrayBuffer(8); // create a buffer of length 8
var view = new DataView(buffer); // view which is reffering to buffer
document.write("Buffer Byte Length : " + buffer.byteLength);
document.write("<br>");
document.write("View Byte Length : " + view.byteLength);
</script>
</body>
</html>
輸出:
DelftStack
JavaScript ArrayBuffer object
Buffer Byte Length : 8
View Byte Length : 8
下面是我們如何使用 DataView
和型別化陣列修改和執行 ArrayBuffer
物件的另一個示例。
示例 2:
<!DOCTYPE html>
<html >
<head>
<title>JavaScript ArrayBuffer</title>
</head>
<body>
<h1 style="color: blueviolet;"> DelftStack </h1>
<p> <b> <u> Manipulating ArrayBuffer using DataView and TypedArray </b> </u> </p>
<script>
// ArrayBuffer
var buffer = new ArrayBuffer(8);
// DataView
var view1 = new DataView(buffer);
// TypedArray
var view2 = new Int8Array(buffer);
//Put value of 32bits
view1.setInt32(0, 0x76543210);
//prints the 32bit value
document.write( "32 bit value : " + view1.getInt32(0).toString(16) + "<br>");
//prints only 8bit value
document.write("8 bit value : " + view1.getInt8(0).toString(16) + "<br>");
document.write("32 bit value : " + view2[0].toString(16));
</script>
</body>
</html>
輸出:
DelftStack
Manipulating ArrayBuffer using DataView and TypedArray
32-bit value : 76543210
8-bit value : 76
32-bit value : 76
因此,如上例所示,我們可以將多個 DataView
或 TypedArray 物件新增到單個 ArrayBuffer
並檢視其他物件檢視對一個物件的任何更改。