ArrayBuffer i JavaScript | Forklart

ArrayBuffer i JavaScript | Forklart
I dette innlegget vil vi diskutere hva ArrayBuffer -objektet er i JavaScript sammen med eksempler.

Hva er ArrayBuffer?

En rekke byte er kjent som en matrisebuffer i JavaScript, mens den er kjent som en "byte -matrise" på noen andre språk.

  • De ArrayBuffer Objekt representerer en rå binær databuffer med fast lengde hvis innhold ikke kan endres direkte.
  • Et dataview -objekt kan også brukes til å få tilgang til det, som er en Untyped Super fleksibel visning over en arraybuffer eller et hvilket som helst typisk array -objekt som består av vanlige array -metoder som kart, finn skive osv.
  • Innholdet leses og skrevet ved hjelp av disse objektene.

Eventuelle modifikasjoner av ett objekt av ArrayBuffer vil være synlig for de andre objektene, og bare ett dataview eller skrevet array -objekt må inkluderes i en enkelt matrisebuffer.

Syntaks av ArrayBuffer

De Syntaks av ArrayBuffer i JavaScript er gitt nedenfor:

ny ArrayBuffer (bytelengde);

De Bytelengde er et obligatorisk argument, og det betegner lengden eller størrelsen på matrisbufferen i byte som opprettes.

Merk: Returverdien vil være det nye ArrayBuffer -objektet med størrelse Bytelengde.

For ytterligere å forstå konseptet med et ArrayBuffer -objekt i JavaScript, la oss gå gjennom et eksempel.

Eksempel 1

I dette eksemplet vil vi ganske enkelt initialisere ArrayBuffer-objektet og gi størrelsen 16 og deretter konsoll logge lengden på den initialiserte bufferen ved å bruke den innebygde metoden til array/bufferobjektet bytelengde:

// Initialiser buffer med lengde 16
var myBuffer = new ArrayBuffer (16);
// konsolllogg lengden på mybuffer
konsoll.Logg (MyBuffer.bytelengde); // 16

Eksempel 2

La oss manipulere ArrayBuffer -objektet litt videre ved å bruke Dataview. Som diskutert tidligere kan vi ikke endre eller utføre noen operasjon på ArrayObject med mindre vi bruker en visning:

// Initialiser ArrayBuffer -objektet med størrelse 16
var myBuffer = new ArrayBuffer (16);
// dataview som refererer til mybuffer -objekt
var view1 = ny dataview (myBuffer);
// int8array som refererer til mybuffer -objekt
var view2 = ny int8Array (MyBuffer);
// Sett verdi til 32 biter
Vis1.setint32 (0, 0x76543210);
// Konsolllogg 32 -biters verdien
konsoll.logg ("32 bit verdi:"+visning1.getInt32 (0).toString (16));
// Konsolllogg bare 8 -biters verdien
konsoll.logg ("8 bit verdi:"+visning1.getInt8 (0).toString (16));
konsoll.Logg ("32 bit verdi:"+visning2 [0].toString (16));

I koden over, først initialiserte vi et ArrayBuffer -objekt med størrelse 16, og deretter refererte vi til det ArrayObject med en Dataview. Vi gjentok prosessen med å initialisere et annet syn ved hjelp av Int8Array som representerer de to-biters signerte heltallsarrayene. Etter det setter vi den første visningsverdien til 32 biter og den andre visningsverdien til 8-bits verdi og deretter konsolllogg den:

Konklusjon

Et av kjerneobjektene i JavaScript er ArrayBuffer Objekt, som er en sammenhengende med fast lengde, hvis innhold ikke kan endres direkte; I stedet trenger vi en typisk matrise eller en datavisning. Datavisning spesifiserer et format ved hjelp av metoder i JavaScript, for eksempel, getuint8 (offset). For å si det enkelt, brukes en ArrayBuffer til å lagre binære data, for eksempel binære data fra en fil eller et bilde.

I dette innlegget diskuterte vi ArrayBuffer -objektet i JavaScript sammen med to eksempler der det første vi ganske enkelt initialiserte ArrayBuffer -objektet, og i det andre eksemplet manipulerte vi ArrayBuffer -objektet.