WebAssembly.instance
WebAssembly.instance
This is an
experimental technology
在使用此产品之前,请仔细检查浏览器兼容性表。
WebAssembly.Instance实例对象是有状态,可执行的
WebAssembly.Module
实例。实例中包含了所有可以被 JavaScript调用的WebAssembly
代码导出的函数。
该WebAssembly.Instance()
构造函数可以调用同步实例化一个给定的WebAssembly.Module
对象。但是,获取Instance
的主要方法是通过异步WebAssembly.instantiate()
函数。
构造函数语法
重要说明
:由于大型模块的实例化价格比较贵,开发人员Instance()
在绝对需要同步实例时只应使用构造函数。WebAssembly.instantiate()
应该在其他时间使用异步方法。
var myInstance = new WebAssembly.Instance(module, importObject
参数
_module
_ WebAssembly.Module
是要实例化的对象._importObject_Optional 包含要导入到新创建的值Instance
(例如函数或WebAssembly.Memory
对象)中的值的对象。每个声明的导入module
都必须有一个匹配属性,否则会引发WebAssembly.LinkError。
Instance实例
所有Instance
实例都继承于Instance()
构造函数的原型对象 - 可以修改它以影响所有Instance
实例。
Instance 属性
Instance.prototype.constructor
返回创建此对象实例的函数。默认情况下这是WebAssembly.Instance()
构造函数。Instance.prototype.exports
只读返回一个包含从WebAssembly模块实例导出的所有函数作为其成员的对象,以允许它们被JavaScript访问和使用。
Instance方法
None.
规范
Specification | Status | Comment |
---|---|---|
Web Assembly JavaScript APIThe definition of 'Instance' in that specification. | Draft | Initial draft definition. |
浏览器兼容性
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 57 | 16 | 522 | No | 44 | 11 |
exports | 57 | 16 | 522 | No | 44 | 11 |
prototype | 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 |
exports | 57 | 57 | (Yes)1 | 522 | No | ? | 11 |
prototype | 57 | 57 | (Yes)1 | 522 | No | ? | 11 |