HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
View in English Always switch to English
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserübergreifend verfügbar.
Die schreibgeschützte buffer-Prototyp-Eigenschaft des WebAssembly.Memory-Objekts gibt den Puffer zurück, der im Speicher enthalten ist. Abhängig davon, ob der Speicher mit shared: true konstruiert wurde oder nicht, ist der Puffer entweder ein ArrayBuffer oder ein SharedArrayBuffer.
buffer
WebAssembly.Memory
shared: true
ArrayBuffer
SharedArrayBuffer
Das folgende Beispiel (siehe memory.html auf GitHub, und live ansehen) lädt und instanziiert den geladenen memory.wasm-Bytecode mit der Funktion WebAssembly.instantiateStreaming(), während es den in der obigen Zeile erstellten Speicher importiert. Anschließend speichert es einige Werte in diesem Speicher, exportiert eine Funktion und verwendet die exportierte Funktion, um diese Werte zu summieren.
WebAssembly.instantiateStreaming()
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); });
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.