此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。

View in English Always switch to English

br

br 是讓程式跳躍至指定區塊(可能是 loop、block 或是 if)。 br 有以下幾種變體:br_if 是在符合指定條件下程式才會跳躍至指定區塊;br_table 則是根據給予的參數不同,跳至不同區塊。

嘗試一下

(module ;; import the browser console object, you'll need to pass this in from JavaScript (import "console" "log" (func $log (param i32))) ;; create a global variable and initialize it to 0 (global $i (mut i32) (i32.const 0)) (func (loop $my_loop ;; add one to $i global.get $i i32.const 1 i32.add global.set $i ;; log the current value of $i global.get $i call $log ;; if $i is less than 10 branch to loop global.get $i i32.const 10 i32.lt_s br_if $my_loop ) ) (start 1) ;; run the first function automatically ) 
const url = "{%wasm-url%}"; await WebAssembly.instantiateStreaming(fetch(url), { console }); 

語法

wasm
;; 建立一個 loop 區塊,讓程式在之後可以跳回 (loop $my_loop ;; 跳回至 loop。 ;; 在絕大多數的情況,你會希望其在特定條件下才回到 loop , ;; 否則程式就會進入無限循環。 br $my_loop ) 
指令 二進制運算碼
br 0x0c
br_if 0x0d
br_table 0x0e