Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Die func-Typdefinition deklariert eine Funktionssignatur: eine Liste von Parametertypen und eine Liste von Ergebnistypen.
Ein Funktionstyp ordnet eine Sequenz von Parameter-Wertetypen einer Sequenz von Ergebniswertetypen zu. Beide Listen können leer sein.
Funktionstypen erscheinen an drei Stellen:
Funktionstypen verwenden strukturelle Gleichheit: Zwei Funktionstypen sind identisch, wenn und nur wenn ihre Parameter- und Ergebnistypsequenzen elementweise übereinstimmen. Die Identität des Typindex oder des Moduls, aus dem es stammt, spielt keine Rolle. Ein call_indirect wird daher erfolgreich sein bei einem Callee, dessen Typ unabhängig in einem anderen Modul deklariert wurde, solange die Parameter- und Ergebnissequenzen dieselben sind.
Das folgende Modul deklariert einen einzigen $bin_op Typ und verwendet ihn für zwei Funktionen und eine call_indirect-Stelle:
Das Aufrufen von dispatch(0, 3, 4) ruft $add auf und gibt 7 zurück; das Aufrufen von dispatch(1, 3, 4) ruft $mul auf und gibt 12 zurück. Das Übergeben eines Indexes, der auf eine Funktion mit einer anderen Signatur verweist, wird abgefangen.
| Unknown specification # syntax-functype |
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.