WebAssembly.memory.grow
WebAssembly.memory.grow
这是一项
实验技术
在使用此产品之前,请仔细检查浏览器兼容性表。
Memory
对象的grow()
原型方法通过指定数量的WebAssembly页面增加内存实例的大小。
语法
memory.grow(number
参数
_number_你想增长内存的WebAssembly页面的数量(每个页面大小为64KiB)。
返回值
之前内存的大小以WebAssembly页面为单位。
示例
以下示例将创建一个新的WebAssembly Memory实例,初始大小为1页(64KiB),最大大小为10页(640KiB)。
var memory = new WebAssembly.Memory{initial:1, maximum:10}
然后,我们可以通过一个页面来扩展实例,如下所示:
const bytesPerPage = 64 * 1024;
console.log(memory.buffer.byteLength / bytesPerPage // "1"
console.log(memory.grow(1) // "1"
console.log(memory.buffer.byteLength / bytesPerPage // "2"
请注意,grow()
这里的返回值是WebAssembly页面的前一个数字。
规范
Specification | Status | Comment |
---|---|---|
Web Assembly JavaScript APIThe definition of 'grow()' in that specification. | Draft | Initial draft definition. |
浏览器兼容性
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 57 | 16 | 522 | No | 44 | 11 |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | 57 | 57 | (Yes)1 | 522 | No | ? | 11 |