JavaScript ArrayBuffer Object
The Javascript ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. The contents of an ArrayBuffer cannot be directly manipulated and can only be accessed through a DataView Object or one of the typed array objects. These Objects are used to read and write the contents of the buffer.
More than one DataView or typed array objects can be added to one ArrayBuffer and any changes to one object can be easily seen by the other object’s view. The following are the typed arrays: Float32Array, Float64Array, Int8Array, Int16Array, Int32Array, Uint8Array, Uint8ClampedArray, Uint16Array, Uint32Array.
Syntax:
new ArrayBuffer(byteLength)
Parameters: It accepts one parameter.
- bytelength: It denotes the size, in bytes, of the array buffer to be created.
Return value: It returns a new ArrayBuffer object of the specified size and the content is initialized to 0.
Example: In this example, we will see the use of the Javascript ArrayBuffer() method.
javascript
<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 console.log(view1.getInt32(0).toString(16)); //prints only 8bit value console.log(view1.getInt8(0).toString(16)); console.log(view2[0].toString(16)); </script> |
Output:
76543210 76 76
Properties :
- ArrayBuffer.byteLength: The byteLength property returns the length of the buffer in bytes.
- ArrayBuffer.prototype: This property allows the addition of properties to all ArrayBuffer objects.
Methods:
- ArrayBuffer.isView(arg): If arg is one of the ArrayBuffer views (typed array objects or a DataView) then true is returned otherwise, false is returned.
- ArrayBuffer.transfer(oldBuffer [, newByteLength]): The contents from the oldbuffer specified is either truncated or zero-extended by the specified newByteLength and is returned as a new ArrayBuffer.
Instance Methods:
- ArrayBuffer.slice() and ArrayBuffer.prototype.slice(): A new ArrayBuffer is returned whose contents are a copy of this ArrayBuffer’s bytes from begin, inclusive, up to end, exclusive.
Please Login to comment...