ArrayBufferView
了解什麼是ArrayBufferView對象以及如何使用它 一個ArrayBufferView是ArrayBuffer的一部分。 它有一個偏移量和一個長度。 一旦創建,它提供了3個只讀屬性: buffer指向原始的ArrayBuffer byteOffset是這個buffer的偏移量 byteLength是它的內容在字節中的長度 Typed Arrays和DataViews都是ArrayBufferView的實例。
了解什麼是ArrayBufferView對象以及如何使用它 一個ArrayBufferView是ArrayBuffer的一部分。 它有一個偏移量和一個長度。 一旦創建,它提供了3個只讀屬性: buffer指向原始的ArrayBuffer byteOffset是這個buffer的偏移量 byteLength是它的內容在字節中的長度 Typed Arrays和DataViews都是ArrayBufferView的實例。
了解DataView物件及其使用方法 DataView是一個對ArrayBuffer的視圖,類似於Typed Arrays,但是在這種情況下,數組中的項目可以具有不同的大小和類型。 以下是一個例子: const buffer = new ArrayBuffer(64) const view = new DataView(buffer) 因為這是對緩衝區的視圖,我們可以指定從哪個字節開始,以及長度: const view = new DataView(buffer, 10) //從第10個字節開始 const view = new DataView(buffer, 10, 30) //從第10個字節開始,添加30個項目 如果不添加這些附加參數,則該視圖從位置0開始,並加載緩衝區中的所有字節。 我們可以使用一組方法將數據添加到緩衝區中: setInt8() setInt16() setInt32() setUint8() setUint16() setUint32() setFloat32() setFloat64() 這是如何調用其中一個方法的示例: const buffer = new ArrayBuffer(64) const view = new DataView(buffer) view.setInt16(0, 2019) 默認情況下,數據使用big endian表示。您可以通過添加第三個帶有true值的參數來覆蓋此設置並使用little endian: const buffer = new ArrayBuffer(64) const view = new DataView(buffer) view.setInt16(0, 2019, true) 以下是如何從視圖中獲取數據:...