mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-12-16 07:51:52 +08:00
语法高亮,滚动条美化,设置页面调整
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<p><code><strong>WebAssembly.Memory()</strong></code> 构造函数创建一个新的 <code>Memory</code> 对象。它包含一个可调整大小的 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a> ,其内存储的是 WebAssembly <code>实例</code> 所访问内存的原始字节码。</p>
|
||||
<p>从 JavaScript 或 WebAssembly 中所创建的内存,可以由 JavaScript 或 WebAssembly 来访问及更改。</p>
|
||||
<h2 id="语法">语法</h2>
|
||||
<pre class="syntaxbox">var myMemory = new WebAssembly.Memory(memoryDescriptor);</pre>
|
||||
<pre><code class="language-javascript">var myMemory = new WebAssembly.Memory(memoryDescriptor);</code></pre>
|
||||
<h3 id="参数">参数</h3>
|
||||
<dl>
|
||||
<dt><em>memoryDescriptor</em></dt>
|
||||
@@ -40,9 +40,9 @@
|
||||
</dl>
|
||||
<h2 id="示例">示例</h2>
|
||||
<p>有两种方法可以获得 <code>WebAssembly.Memory</code> 对象。第一种方法是由 JavaScript 来创建。以下示例创建了一个新的 WebAssembly 内存实例,初始大小为 10页(640KB),最大值设置为 100页(6.4MB)。</p>
|
||||
<pre class="brush: js">var memory = new WebAssembly.Memory({initial:10, maximum:100});</pre>
|
||||
<pre><code class="language-javascript">var memory = new WebAssembly.Memory({initial:10, maximum:100});</code></pre>
|
||||
<p>获取 <code>WebAssembly.Memory</code> 对象的第二种方法是从 WebAssembly 模块中导出。以下示例 (详见GitHub页面 <a class="external" href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/memory.html" rel="noopener">memory.html</a> ,也可以 <a class="external" href="https://mdn.github.io/webassembly-examples/js-api-examples/memory.html" rel="noopener">用浏览器运行查看</a>) 使用 <a href="Reference/Global_Objects/WebAssembly/instantiateStreaming" title="WebAssembly.instantiateStreaming() 方法直接从流式底层源编译和实例化WebAssembly模块。这是加载wasm代码一种非常有效的优化方式。"><code>WebAssembly.instantiateStreaming()</code></a> 方法实例化已加载的 memory.wasm 字节代码,同时导入上面一行中创建的内存。用它来存储一些值,然后导出一个函数并用它来对一些值进行求和操作。</p>
|
||||
<pre class="brush: js">WebAssembly.instantiateStreaming(fetch('memory.wasm'), { js: { mem: memory } })
|
||||
<pre><code class="language-javascript">WebAssembly.instantiateStreaming(fetch('memory.wasm'), { js: { mem: memory } })
|
||||
.then(obj => {
|
||||
var i32 = new Uint32Array(memory.buffer);
|
||||
for (var i = 0; i < 10; i++) {
|
||||
@@ -50,7 +50,7 @@
|
||||
}
|
||||
var sum = obj.instance.exports.accumulate(0, 10);
|
||||
console.log(sum);
|
||||
});</pre>
|
||||
});</code></pre>
|
||||
<h2 id="标准规范">标准规范</h2>
|
||||
<table class="standard-table">
|
||||
<thead>
|
||||
|
||||
Reference in New Issue
Block a user