JS WebAssembly.Instance
这是一个实验中的功能
此功能某些浏览器尚在开发中。
由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
一个 WebAssembly.Instance 对象是有状态的,是 WebAssembly.Module 的一个可执行实例。实例包含所有的 WebAssembly 导出函数 , 允许从 JavaScript 调用 WebAssembly 代码。
WebAssembly.Instance() 构造函数以同步方式实例化一个 WebAssembly.Module 对象。然而,通常获取实例的方法是通过异步函数 WebAssembly.instantiate() .
构造函数语法
重要:因为大型模块的实例化比较昂贵,开发人员应该只在同步实例化是必须时,才使用 Instance(); 绝大多数情况应该使用异步方法 WebAssembly.instantiate() .
var myInstance = new WebAssembly.Instance(module, importObject);
参数
module
要被实例化的 WebAssembly.Module 对象。
importObject 可选
一个包含值的对象,导入到新创建的 实例,比如函数或 WebAssembly.Memory 对象。There must be one matching property for each declared import of module 否则抛出 WebAssembly.LinkError 异常。
Instance 实例化
所有的 Instance 实例继承自 Instance() 属性对象— 修改它会影响所有的 Instance 实例。
Instance 属性
Instance.prototype.constructor
Returns the function that created this object’s instance. By default this is the WebAssembly.Instance() constructor.
Instance.prototype.exports Read only
Returns an object containing as its members all the functions exported from the WebAssembly module instance, to allow them to be accessed and used by JavaScript.
Instance 方法
None.
规格
规格 | 状态 | 描述 |
---|---|---|
WebAssembly JavaScript Interface Instance | Working Draft | Initial draft definition. |