今天受邀参加了第二届力天集团汽车节,报个流水账吧

Baseline Widely available
百度 澎湃新闻·艺术评论特此采访了一批非物质文化遗产传承人,从艺开始,了解上海的非遗。

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

The read-only buffer prototype property of the WebAssembly.Memory object returns the buffer contained in the memory. Depending on whether or not the memory was constructed with shared: true, the buffer is either an ArrayBuffer or a SharedArrayBuffer.

Examples

Using buffer

The following example (see memory.html on GitHub, and view it live also) fetches and instantiates the loaded memory.wasm bytecode using the WebAssembly.instantiateStreaming() function, while importing the memory created in the line above. It then stores some values in that memory, exports a function, and uses the exported function to sum those values.

js
const memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100,
});

WebAssembly.instantiateStreaming(fetch("memory.wasm"), {
  js: { mem: memory },
}).then((obj) => {
  const summands = new DataView(memory.buffer);
  for (let i = 0; i < 10; i++) {
    summands.setUint32(i * 4, i, true); // WebAssembly is little endian
  }
  const sum = obj.instance.exports.accumulate(0, 10);
  console.log(sum);
});

Specifications

Specification
WebAssembly JavaScript Interface
# dom-memory-buffer

Browser compatibility

See also