This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The buffer
prototype property of the Memory
object returns the buffer contained in the memory.
memory.buffer
Examples
The following example (see memory.html on GitHub, and view it live also) fetches and instantiates the loaded memory.wasm byte code using our fetchAndInstantiate()
utility function. It then exports a memory from the module, stores some values in it, then exports a function and uses it to sum some values.
fetchAndInstantiate('memory.wasm').then(function(instance) { var i32 = new Uint32Array(instance.exports.mem.buffer); for (var i = 0; i < 10; i++) { i32[i] = i; } var sum = instance.exports.accumulate(0, 10); console.log(sum); });
Specifications
Specification | Status | Comment |
---|---|---|
Web Assembly JavaScript API The definition of 'buffer' in that specification. |
Draft | Initial draft definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 57 | 15[2] | 52 (52)[1] | No support | 44 | 11 |
Feature | Chrome for Android | Android Webview | Edge Mobile | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 57 | 57 | No support | 52.0 (52)[1] | No support | No support | 11 |
[1] WebAssembly is enabled in Firefox 52+, although disabled in the Firefox 52 Extended Support Release (ESR.)
[2] Currently supported behind the “Experimental JavaScript Features” flag. See this blog post for more details.