WebAssembly
WebAssembly允许在浏览器中运行一些低级别但性能更高的语言(比如C语言),适合一些需要大量复杂计算的场景,比如游戏。
在浏览器中使用
将其他语言编写的模块编译成wasm文件
在JS中引入wasm(在浏览器还未实现
<script type="module"/>
前,用fetch引入)
const bytes = await fetch(wasmUrl).then(res => res.arrayBuffer());
- 使用WebAssembly解析二进制文件为module
const module = await WebAssembly.compile(bytes);
- 实例化module
const instance = await WebAssembly.instantiate(module, {});
- 使用实例上提供的方法
const exports = instance.exports;
exports.add(1, 2); // 这里的add方法来自原始模块中的定义