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 set() Prototyp-Methode des WebAssembly.Table-Objekts ändert eine in einem bestimmten Index gespeicherte Referenz in einen anderen Wert.
Der Index der Funktionsreferenz, die Sie ändern möchten.
valueDer Wert, auf den Sie die Referenz ändern möchten. Dies muss ein Wert des Elementtyps der Tabelle sein. Abhängig vom Typ kann es eine exportierte WebAssembly-Funktion, ein JavaScript-Wrapper für eine zugrunde liegende Wasm-Funktion oder eine Host-Referenz sein.
Keiner (undefined).
Das folgende Beispiel (siehe table2.html Quellcode und Live-Version) erstellt eine neue WebAssembly-Tabelle mit einer anfänglichen Größe von zwei Referenzen. Anschließend geben wir die Tabellenlänge und die Inhalte der beiden Indizes aus (abgerufen über Table.prototype.get()), um zu zeigen, dass die Länge zwei beträgt und die Indizes derzeit keine Funktionsreferenzen enthalten (sie geben aktuell null zurück).
Wir erstellen dann ein Importobjekt, das eine Referenz auf die Tabelle enthält:
Abschließend laden und instanziieren wir ein Wasm-Modul (table2.wasm) mit WebAssembly.instantiateStreaming(), drucken die Tabellenlänge und rufen die zwei Funktionsreferenzen auf, die jetzt in der Tabelle gespeichert sind. Das table2.wasm-Modul fügt der Tabelle zwei Funktionsreferenzen hinzu, die beide einen einfachen Wert ausgeben (siehe Textdarstellung):
Beachten Sie, dass Sie am Ende des Zugriffsoperators einen zweiten Funktionsaufrufsoperator einfügen müssen, um die referenzierte Funktion tatsächlich aufzurufen und den darin gespeicherten Wert zu protokollieren (z. B. get(0)() anstelle von get(0)).
Dieses Beispiel zeigt, dass wir die Tabelle von JavaScript aus erstellen und darauf zugreifen, aber dieselbe Tabelle ist auch innerhalb der Wasm-Instanz sichtbar und aufrufbar.
| WebAssembly JavaScript Interface # dom-table-set |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.