Un objeto ArrayBuffer se utiliza para representar un búfer de datos binarios sin procesar genérico de longitud fija. El contenido de un ArrayBuffer no se puede manipular directamente y solo se puede acceder a él a través de un objeto DataView o uno de los objetos de array escritos. Estos objetos se utilizan para leer y escribir el contenido del búfer. Se puede agregar más de un DataView o de objetos de array escritos a un ArrayBuffer y cualquier cambio en un objeto se puede ver fácilmente en la vista de otros objetos.
Las siguientes son las arrays con tipo:
Float32Array, Float64Array, Int8Array, Int16Array, Int32Array, Uint8Array, Uint8ClampedArray, Uint16Array, Uint32Array.
Sintaxis:
new ArrayBuffer(byteLength)
Parámetros: acepta un parámetro, es decir, longitud de bytes , que indica el tamaño, en bytes, del búfer de array que se creará.
Valor devuelto: Devuelve un nuevo objeto ArrayBuffer del tamaño especificado y el contenido se inicializa a 0.
<script> //Create a 16byte buffer var buffer = new ArrayBuffer(16); //Create a DataView referring to the buffer var view1 = new DataView(buffer); //Create a Int8Array view referring to the buffer var view2 = new Int8Array(buffer); //Put value of 32bits view1.setInt32(0, 0x76543210); //prints the 32bit value document.write(view1.getInt32(0).toString(16) + "<br>"); //prints only 8bit value document.write(view1.getInt8(0).toString(16) + "<br>"); document.write(view2[0].toString(16)); </script>
Producción:
76543210 76 76
Propiedades :
- ArrayBuffer.byteLength: la propiedad byteLength devuelve la longitud del búfer en bytes.
- ArrayBuffer.prototype: Esta propiedad permite agregar propiedades a todos los objetos ArrayBuffer.
Métodos:
- ArrayBuffer.isView(arg): si arg es una de las vistas de ArrayBuffer (objetos de array escritos o un DataView), se devuelve verdadero; de lo contrario, se devuelve falso.
- ArrayBuffer.transfer(oldBuffer [, newByteLength]): el contenido del búfer antiguo especificado se trunca o se amplía a cero por el newByteLength especificado y se devuelve como un nuevo ArrayBuffer.
Métodos de instancia:
- ArrayBuffer.slice() y ArrayBuffer.prototype.slice(): Se devuelve un nuevo ArrayBuffer cuyo contenido es una copia de los bytes de este ArrayBuffer desde el principio, inclusive, hasta el final, exclusivo.
Publicación traducida automáticamente
Artículo escrito por VidhyaChaudhary y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA