1. WebAssembly
  2. Reference
  3. WebAssembly Steuerflussanweisungen
  4. if...else

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

if...else: Wasm Textanweisung

Die if-Anweisung führt eine Anweisung aus, wenn das letzte Element auf dem Stapel wahr (ungleich null) ist. Wenn die Bedingung falsch (0) ist, kann eine andere Anweisung ausgeführt werden.

Probieren Sie es aus

(module
 ;; import the browser console object, you'll need to pass this in from JavaScript
 (import "console" "log" (func $log (param i32)))
 (func
 i32.const 0 ;; change to positive number (true) if you want to run the if block
 (if
 (then
 i32.const 1
 call $log ;; should log '1'
 )
 (else
 i32.const 0
 call $log ;; should log '0'
 )
 )
 )
 (start 1) ;; run the first function automatically
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });

Syntax

wat
i32.const 0
(if
 (then
 ;; do something
 )
 (else
 ;; do something else
 )
)

Um Rückgabewerte auf dem Stapel zu lassen, fügen Sie die result-Anweisung hinzu.

wat
i32.const 0
(if (result i32)
 (then
 ;; do something
 (i32.const 1)
 )
 (else
 ;; do something else
 (i32.const 2)
 )
)
(drop)
Anweisung Binärer Opcode
if 0x04
else 0x05

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /