Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
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 grow() Prototyp-Methode des WebAssembly.Memory Objekts erhöht die Größe der Speicherinstanz um eine angegebene Anzahl von WebAssembly-Seiten.
Die Anzahl der WebAssembly-Seiten, um die Sie den Speicher erweitern möchten (jede hat eine Größe von 64KiB). Für Speicher mit einem Adresstyp von "i64" muss dies ein BigInt-Wert sein.
Die vorherige Größe des Speichers, in Einheiten von WebAssembly-Seiten. Für Speicher mit einem Adresstyp von "i64" ist dies ein BigInt-Wert.
Das folgende Beispiel erstellt eine neue WebAssembly-Speicherinstanz mit einer anfänglichen Größe von 1 Seite (64KiB) und einer maximalen Größe von 10 Seiten (640KiB).
Wir können die Instanz dann um eine Seite wie folgt erweitern:
Beachten Sie, dass der Rückgabewert von grow() hier die vorherige Anzahl der WebAssembly-Seiten ist.
Für Speicher mit einem Adresstyp von "i64" verwenden Sie einen BigInt-Wert für grow():
Jeder Aufruf von grow trennt alle Verweise auf den alten buffer ab, selbst bei grow(0)! Das Abtrennen bedeutet, dass die byteLength des ArrayBuffer zu null wird und keine Bytes mehr für JavaScript zugänglich sind. Der Zugriff auf die buffer-Eigenschaft nach dem Aufruf von grow ergibt einen ArrayBuffer mit der korrekten Länge.
Bei einer geteilten Memory-Instanz wird der ursprüngliche buffer (in einem solchen Fall ein SharedArrayBuffer) nicht abgetrennt, sondern seine Länge wird nicht aktualisiert. Der Zugriff auf die buffer-Eigenschaft nach dem Erweitern ergibt einen größeren SharedArrayBuffer, der möglicherweise einen größeren Speicherbereich als der Puffer vor dem Erweitern des Memory zugänglich macht. Jeder SharedArrayBuffer von der buffer-Eigenschaft wird auf denselben Speicheradressbereich verweisen und somit dieselben Daten manipulieren.
| WebAssembly JavaScript Interface # dom-memory-grow |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.