WebAssembly.Memory.prototype.buffer
WebAssembly.Memory 物件的只讀 buffer 原型屬性返回記憶體中包含的緩衝區。根據記憶體是使用 shared: true 構建的還是未使用的,該緩衝區要麼是 ArrayBuffer,要麼是 SharedArrayBuffer。
示例
使用 buffer
以下示例(請參閱 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 |
瀏覽器相容性
載入中…