WebAssembly.Memory.prototype.buffer
只讀的 buffer WebAssembly.Memory 物件的原型屬性返回記憶體中包含的緩衝區。根據記憶體是否使用 shared: true 構造,緩衝區要麼是 ArrayBuffer,要麼是 SharedArrayBuffer。
示例
使用緩衝區
以下示例(參見 GitHub 上的 memory.html,以及 即時檢視)使用 WebAssembly.instantiateStreaming() 函式獲取並例項化載入的 memory.wasm 位元組碼,同時匯入上面一行建立的記憶體。然後它在該記憶體中儲存一些值,匯出一個函式,並使用匯出的函式對這些值求和。
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);
});
規範
| 規範 |
|---|
| WebAssembly JavaScript 介面 # dom-memory-buffer |
瀏覽器相容性
BCD 表僅在瀏覽器中載入