ArrayBuffer w JavaScript | Wyjaśnione

ArrayBuffer w JavaScript | Wyjaśnione
W tym poście omówimy, czym jest obiekt ArrayBuffer w JavaScript wraz z przykładami.

Co to jest ArrayBuffer?

Szereg bajtów jest znany jako bufor tablicy w JavaScript, a jednocześnie znany jako „tablica bajtów” w niektórych innych językach.

  • ArrayBuffer Obiekt reprezentuje surowy bufor danych o stałej długości, którego treści nie można bezpośrednio zmienić.
  • Do dostępu do niego można również użyć obiektu DataView, czyli niezapomniany Super elastyczny widok na ArrayBuffer lub dowolny typowy obiekt tablicy, który składa się z zwykłych metod tablicy, takich jak mapa, znajdź plasterek itp.
  • Treść jest odczytywana i zapisana za pomocą tych obiektów.

Wszelkie modyfikacje jednego obiektu ArrayBuffer będzie widoczny dla innych obiektów i tylko jeden obiekt danych lub typu tablicy musi być zawarty w jednym buforze do tablicy.

Składnia ArrayBuffer

Składnia ArrayBuffer w JavaScript podano poniżej:

Nowy ArrayBuffer (ByteLength);

BYTELEMNE jest obowiązkowym argumentem i oznacza długość lub rozmiar bufora tablicy w tworzonych bajtach.

Notatka: Wartością zwracającą będzie nowy obiekt ArrayBuffer o rozmiarze BYTELEMNE.

Aby jeszcze bardziej zrozumieć koncepcję obiektu ArrayBuffer w JavaScript, przejdźmy do przykładu.

Przykład 1

W tym przykładzie po prostu zainicjujemy obiekt ArrayBuffer i podamy rozmiar 16, a następnie pocieszyć rejestrację długości zainicjowanego bufora przy użyciu wbudowanej metody obiektu tablicy/bufora:

// Zainicjuj bufor o długości 16
var myBuffer = new ArrayBuffer (16);
// Konsola Zaloguj długość myBuffer
konsola.Dziennik (myBuffer.BYTELEMNE); // 16

Przykład 2

Manipulujmy obiektem ArrayBuffer nieco dalej, używając DataView. Jak omówiono wcześniej, nie możemy zmodyfikować ani wykonywać żadnej operacji w ArrayObject, chyba że użyjemy widoku:

// Zainicjuj obiekt ArrayBuffer o rozmiarze 16
var myBuffer = new ArrayBuffer (16);
// DataView, który odnosi się do obiektu MyBuffer
var view1 = new DataView (myBuffer);
// int8Array, który odnosi się do obiektu myBuffer
var view2 = new int8Array (myBuffer);
// Ustaw wartość na 32 bity
Widok1.setint32 (0, 0x76543210);
// Konsola Zaloguj wartość 32 -bitową
konsola.Log („Wartość 32 -bitowa:”+widok1.getInt32 (0).ToString (16));
// Konsoli Zaloguj się tylko wartość 8 -bitowa
konsola.Dziennik („Wartość 8 -bitowa:”+View1.getInt8 (0).ToString (16));
konsola.Log („32 -bitowa wartość:”+view2 [0].ToString (16));

W powyższym kodzie, najpierw zainicjowaliśmy obiekt ArrayBuffer z rozmiarem 16, a następnie odnieśliśmy się do tej ArrayObject z DataView. Powtórzyliśmy proces inicjalizacji innego widoku za pomocą Int8Array który reprezentuje dwupoziomową tablicę całkowitą podpisaną. Następnie ustawiamy pierwszą wartość widoku na 32 bity i drugą wartość widoku na wartość 8-bitową, a następnie loguj ją:

Wniosek

Jednym z podstawowych obiektów w JavaScript jest ArrayBuffer obiekt, który jest ciągłym odniesieniem do przestrzeni pamięci o stałej długości, którego treści nie można zmienić bezpośrednio; Zamiast tego potrzebujemy tablicy typu lub widoku danych. Widok danych określa format przy użyciu metod w JavaScript, na przykład, getuint8 (przesunięcie). Mówiąc prosto, do przechowywania danych binarnych używa się ArrayBuffer, na przykład dane binarne pliku lub obrazu.

W tym poście omówiliśmy obiekt ArrayBuffer w JavaScript wraz z dwoma przykładami, w których pierwszy zainicjowaliśmy obiekt ArrayBuffer, aw drugim przykładzie manipulowaliśmy obiektem ArrayBuffer.